AnopeWiki
http://wiki.anope.org/index.php/Main_Page
MediaWiki 1.23.4
first-letter
Media
Special
Talk
User
User talk
AnopeWiki
AnopeWiki talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Module
Module talk
2.0/Configuration
0
222
1171
1168
2024-01-17T21:25:19Z
Pegasus
41
Fixed missing `*/`
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick. %n will be replaced with the user's nickname.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the killprotect
* option and the killprotect option must be specified with this one
* - kill_immed: Kill nick immediately if not identified, this one overrides both the killprotect
* and kill_quick options and the killprotect option must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide the nick's last or current user@host from NickServ's INFO command
* - hide_status: Hide the nick's services operator access status from NickServ's INFO command
* - hide_quit: Hide the nick's last quit message from NickServ's INFO command
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keep_modes: Enables keepmodes, which retains user modes across sessions
* - ns_no_expire: Enables no expire. Unconfirmed expire overrules this.
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "killprotect ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = no
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module
{
name = "ns_identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
*/
maxlogins = 10
}
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is optional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change its
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - cs_no_expire: Enables no expire. Needs founder, successor (if set) or anyone in the access list
* to be a registered nick, otherwise the channel will be dropped.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* The message formatting to use for signed kick messages.
* %n is the nick of the kicker
* %m is the message specified
*/
signkickformat = "%m (%n)"
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are used to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (e.g. a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get their channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "SOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel settings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows redefining which privileges
* are represented by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directives 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
/*
* The maximum number of entries that may be on a mode lock list.
*
* This directive is optional.
*/
max = 32
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persistent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each are determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users' status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module
{
name = "ms_ignore"
/*
* The maximum number of entries that may be on a memo ignore list.
*
* This directive is optional.
*/
max = 32
}
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in DefCon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd 3.2.
* See /helpop ?svso on your IRCd for more information.
*/
#module { name = "os_oline" }
#command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches its session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 5
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*/
#exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit https://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then want to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; permission = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kicker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantasist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while they're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all UNIX-like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reply reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the EFnet RBL, visit https://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If no replies are configured, all replies get banned. */
reply
{
code = 1
reason = "Open Proxy"
}
#reply
{
code = 2
reason = "spamtrap666"
}
#reply
{
code = 3
reason = "spamtrap50"
}
reply
{
code = 4
reason = "TOR"
/*
* If set, users identified to services at the time the result comes back
* will not be banned.
*/
#allow_account = yes
}
reply
{
code = 5
reason = "Drones / Flooding"
}
}
#blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%i&network=%N"
}
/* Exempt localhost from DNSBL checks */
exempt { ip = "127.0.0.0/8" }
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
* Multiple IP addresses can be specified separated by a space character.
*/
#extforward_ip = "192.168.0.255 192.168.1.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to register with NickServ,
* including nick registration from grouping.
*
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit https://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit https://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses version 1 of the Perl Compatible Regular
* Expressions library. This can not be loaded at the same time as the m_regex_pcre2 module.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_pcre2 [EXTRA]
*
* Provides the regex engine regex/pcre, which uses version 2 of the Perl Compatible Regular
* Expressions library. This can not be loaded at the same time as the m_regex_pcre module.
*/
#module { name = "m_regex_pcre2" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, e.g. $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
module { name = "m_sasl" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, but not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, but not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* As of 2014 SSL 3.0 is considered insecure, but it might be enabled
* on some systems by default for compatibility reasons.
* You can use the following option to enable or disable it explicitly.
* Leaving this option not set defaults to the default system behavior.
*/
#sslv3 = no
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit https://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit https://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "stats.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#stats,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured stats client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; permission = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
9b782cc6f0d2ce4b0e2b542b3b116b8801009c1d
1168
1167
2023-07-17T09:24:56Z
Pegasus
41
Update with latest chanstats.example.conf config from git
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick. %n will be replaced with the user's nickname.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the killprotect
* option and the killprotect option must be specified with this one
* - kill_immed: Kill nick immediately if not identified, this one overrides both the killprotect
* and kill_quick options and the killprotect option must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide the nick's last or current user@host from NickServ's INFO command
* - hide_status: Hide the nick's services operator access status from NickServ's INFO command
* - hide_quit: Hide the nick's last quit message from NickServ's INFO command
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keep_modes: Enables keepmodes, which retains user modes across sessions
* - ns_no_expire: Enables no expire. Unconfirmed expire overrules this.
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "killprotect ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = no
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module
{
name = "ns_identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
*/
maxlogins = 10
}
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is optional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change its
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - cs_no_expire: Enables no expire. Needs founder, successor (if set) or anyone in the access list
* to be a registered nick, otherwise the channel will be dropped.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* The message formatting to use for signed kick messages.
* %n is the nick of the kicker
* %m is the message specified
*/
signkickformat = "%m (%n)"
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are used to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (e.g. a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get their channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "SOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel settings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows redefining which privileges
* are represented by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directives 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
/*
* The maximum number of entries that may be on a mode lock list.
*
* This directive is optional.
*/
max = 32
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persistent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each are determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users' status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module
{
name = "ms_ignore"
/*
* The maximum number of entries that may be on a memo ignore list.
*
* This directive is optional.
*/
max = 32
}
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in DefCon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd 3.2.
* See /helpop ?svso on your IRCd for more information.
*/
#module { name = "os_oline" }
#command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches its session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 5
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*/
#exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit https://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then want to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; permission = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kicker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantasist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while they're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all UNIX-like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reply reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the EFnet RBL, visit https://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If no replies are configured, all replies get banned. */
reply
{
code = 1
reason = "Open Proxy"
}
#reply
{
code = 2
reason = "spamtrap666"
}
#reply
{
code = 3
reason = "spamtrap50"
}
reply
{
code = 4
reason = "TOR"
/*
* If set, users identified to services at the time the result comes back
* will not be banned.
*/
#allow_account = yes
}
reply
{
code = 5
reason = "Drones / Flooding"
}
}
#blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%i&network=%N"
}
/* Exempt localhost from DNSBL checks */
exempt { ip = "127.0.0.0/8" }
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
* Multiple IP addresses can be specified separated by a space character.
*/
#extforward_ip = "192.168.0.255 192.168.1.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to register with NickServ,
* including nick registration from grouping.
*
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit https://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit https://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses version 1 of the Perl Compatible Regular
* Expressions library. This can not be loaded at the same time as the m_regex_pcre2 module.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_pcre2 [EXTRA]
*
* Provides the regex engine regex/pcre, which uses version 2 of the Perl Compatible Regular
* Expressions library. This can not be loaded at the same time as the m_regex_pcre module.
#module { name = "m_regex_pcre2" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, e.g. $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
module { name = "m_sasl" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, but not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, but not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* As of 2014 SSL 3.0 is considered insecure, but it might be enabled
* on some systems by default for compatibility reasons.
* You can use the following option to enable or disable it explicitly.
* Leaving this option not set defaults to the default system behavior.
*/
#sslv3 = no
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit https://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit https://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "stats.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#stats,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured stats client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; permission = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
9c1471c4e149fcfcb5a401a8c2c88e95499aa5b4
1167
1166
2023-07-17T09:24:07Z
Pegasus
41
Update with latest irc2sql.example.conf config from git
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick. %n will be replaced with the user's nickname.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the killprotect
* option and the killprotect option must be specified with this one
* - kill_immed: Kill nick immediately if not identified, this one overrides both the killprotect
* and kill_quick options and the killprotect option must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide the nick's last or current user@host from NickServ's INFO command
* - hide_status: Hide the nick's services operator access status from NickServ's INFO command
* - hide_quit: Hide the nick's last quit message from NickServ's INFO command
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keep_modes: Enables keepmodes, which retains user modes across sessions
* - ns_no_expire: Enables no expire. Unconfirmed expire overrules this.
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "killprotect ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = no
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module
{
name = "ns_identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
*/
maxlogins = 10
}
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is optional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change its
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - cs_no_expire: Enables no expire. Needs founder, successor (if set) or anyone in the access list
* to be a registered nick, otherwise the channel will be dropped.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* The message formatting to use for signed kick messages.
* %n is the nick of the kicker
* %m is the message specified
*/
signkickformat = "%m (%n)"
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are used to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (e.g. a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get their channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "SOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel settings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows redefining which privileges
* are represented by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directives 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
/*
* The maximum number of entries that may be on a mode lock list.
*
* This directive is optional.
*/
max = 32
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persistent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each are determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users' status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module
{
name = "ms_ignore"
/*
* The maximum number of entries that may be on a memo ignore list.
*
* This directive is optional.
*/
max = 32
}
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in DefCon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd 3.2.
* See /helpop ?svso on your IRCd for more information.
*/
#module { name = "os_oline" }
#command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches its session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 5
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*/
#exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit https://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then want to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; permission = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kicker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantasist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while they're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all UNIX-like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reply reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the EFnet RBL, visit https://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If no replies are configured, all replies get banned. */
reply
{
code = 1
reason = "Open Proxy"
}
#reply
{
code = 2
reason = "spamtrap666"
}
#reply
{
code = 3
reason = "spamtrap50"
}
reply
{
code = 4
reason = "TOR"
/*
* If set, users identified to services at the time the result comes back
* will not be banned.
*/
#allow_account = yes
}
reply
{
code = 5
reason = "Drones / Flooding"
}
}
#blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%i&network=%N"
}
/* Exempt localhost from DNSBL checks */
exempt { ip = "127.0.0.0/8" }
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
* Multiple IP addresses can be specified separated by a space character.
*/
#extforward_ip = "192.168.0.255 192.168.1.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to register with NickServ,
* including nick registration from grouping.
*
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit https://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit https://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses version 1 of the Perl Compatible Regular
* Expressions library. This can not be loaded at the same time as the m_regex_pcre2 module.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_pcre2 [EXTRA]
*
* Provides the regex engine regex/pcre, which uses version 2 of the Perl Compatible Regular
* Expressions library. This can not be loaded at the same time as the m_regex_pcre module.
#module { name = "m_regex_pcre2" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, e.g. $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
module { name = "m_sasl" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, but not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, but not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* As of 2014 SSL 3.0 is considered insecure, but it might be enabled
* on some systems by default for compatibility reasons.
* You can use the following option to enable or disable it explicitly.
* Leaving this option not set defaults to the default system behavior.
*/
#sslv3 = no
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit https://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit https://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "stats.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#stats,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured stats client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
e8c3f9b36412d013390716d7b05ccafdd039ba2a
1166
1165
2023-07-17T09:22:48Z
Pegasus
41
Update with latest modules.example.conf config from git
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick. %n will be replaced with the user's nickname.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the killprotect
* option and the killprotect option must be specified with this one
* - kill_immed: Kill nick immediately if not identified, this one overrides both the killprotect
* and kill_quick options and the killprotect option must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide the nick's last or current user@host from NickServ's INFO command
* - hide_status: Hide the nick's services operator access status from NickServ's INFO command
* - hide_quit: Hide the nick's last quit message from NickServ's INFO command
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keep_modes: Enables keepmodes, which retains user modes across sessions
* - ns_no_expire: Enables no expire. Unconfirmed expire overrules this.
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "killprotect ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = no
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module
{
name = "ns_identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
*/
maxlogins = 10
}
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is optional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change its
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - cs_no_expire: Enables no expire. Needs founder, successor (if set) or anyone in the access list
* to be a registered nick, otherwise the channel will be dropped.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* The message formatting to use for signed kick messages.
* %n is the nick of the kicker
* %m is the message specified
*/
signkickformat = "%m (%n)"
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are used to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (e.g. a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get their channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "SOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel settings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows redefining which privileges
* are represented by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directives 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
/*
* The maximum number of entries that may be on a mode lock list.
*
* This directive is optional.
*/
max = 32
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persistent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each are determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users' status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module
{
name = "ms_ignore"
/*
* The maximum number of entries that may be on a memo ignore list.
*
* This directive is optional.
*/
max = 32
}
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in DefCon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd 3.2.
* See /helpop ?svso on your IRCd for more information.
*/
#module { name = "os_oline" }
#command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches its session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 5
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*/
#exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit https://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then want to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; permission = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kicker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantasist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while they're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all UNIX-like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reply reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the EFnet RBL, visit https://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If no replies are configured, all replies get banned. */
reply
{
code = 1
reason = "Open Proxy"
}
#reply
{
code = 2
reason = "spamtrap666"
}
#reply
{
code = 3
reason = "spamtrap50"
}
reply
{
code = 4
reason = "TOR"
/*
* If set, users identified to services at the time the result comes back
* will not be banned.
*/
#allow_account = yes
}
reply
{
code = 5
reason = "Drones / Flooding"
}
}
#blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit https://dronebl.org/lookup_branded?ip=%i&network=%N"
}
/* Exempt localhost from DNSBL checks */
exempt { ip = "127.0.0.0/8" }
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
* Multiple IP addresses can be specified separated by a space character.
*/
#extforward_ip = "192.168.0.255 192.168.1.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to register with NickServ,
* including nick registration from grouping.
*
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit https://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit https://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses version 1 of the Perl Compatible Regular
* Expressions library. This can not be loaded at the same time as the m_regex_pcre2 module.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_pcre2 [EXTRA]
*
* Provides the regex engine regex/pcre, which uses version 2 of the Perl Compatible Regular
* Expressions library. This can not be loaded at the same time as the m_regex_pcre module.
#module { name = "m_regex_pcre2" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, e.g. $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
module { name = "m_sasl" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, but not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, but not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* As of 2014 SSL 3.0 is considered insecure, but it might be enabled
* on some systems by default for compatibility reasons.
* You can use the following option to enable or disable it explicitly.
* Leaving this option not set defaults to the default system behavior.
*/
#sslv3 = no
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit https://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit https://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
e5f48e061a1415bf773ba555ac9630a99f05654f
1165
1164
2023-07-17T09:21:33Z
Pegasus
41
Update with latest global.example.conf config from git
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick. %n will be replaced with the user's nickname.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the killprotect
* option and the killprotect option must be specified with this one
* - kill_immed: Kill nick immediately if not identified, this one overrides both the killprotect
* and kill_quick options and the killprotect option must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide the nick's last or current user@host from NickServ's INFO command
* - hide_status: Hide the nick's services operator access status from NickServ's INFO command
* - hide_quit: Hide the nick's last quit message from NickServ's INFO command
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keep_modes: Enables keepmodes, which retains user modes across sessions
* - ns_no_expire: Enables no expire. Unconfirmed expire overrules this.
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "killprotect ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = no
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module
{
name = "ns_identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
*/
maxlogins = 10
}
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is optional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change its
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - cs_no_expire: Enables no expire. Needs founder, successor (if set) or anyone in the access list
* to be a registered nick, otherwise the channel will be dropped.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* The message formatting to use for signed kick messages.
* %n is the nick of the kicker
* %m is the message specified
*/
signkickformat = "%m (%n)"
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are used to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (e.g. a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get their channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "SOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel settings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows redefining which privileges
* are represented by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directives 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
/*
* The maximum number of entries that may be on a mode lock list.
*
* This directive is optional.
*/
max = 32
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persistent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each are determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users' status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module
{
name = "ms_ignore"
/*
* The maximum number of entries that may be on a memo ignore list.
*
* This directive is optional.
*/
max = 32
}
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in DefCon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd 3.2.
* See /helpop ?svso on your IRCd for more information.
*/
#module { name = "os_oline" }
#command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches its session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 5
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*/
#exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit https://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then want to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; permission = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kicker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantasist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while they're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
7697a24f27aec79446d0b346ce3291ff5ec13156
1164
1163
2023-07-17T09:19:41Z
Pegasus
41
Update with latest botserv.example.conf config from git
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick. %n will be replaced with the user's nickname.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the killprotect
* option and the killprotect option must be specified with this one
* - kill_immed: Kill nick immediately if not identified, this one overrides both the killprotect
* and kill_quick options and the killprotect option must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide the nick's last or current user@host from NickServ's INFO command
* - hide_status: Hide the nick's services operator access status from NickServ's INFO command
* - hide_quit: Hide the nick's last quit message from NickServ's INFO command
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keep_modes: Enables keepmodes, which retains user modes across sessions
* - ns_no_expire: Enables no expire. Unconfirmed expire overrules this.
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "killprotect ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = no
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module
{
name = "ns_identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
*/
maxlogins = 10
}
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is optional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change its
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - cs_no_expire: Enables no expire. Needs founder, successor (if set) or anyone in the access list
* to be a registered nick, otherwise the channel will be dropped.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* The message formatting to use for signed kick messages.
* %n is the nick of the kicker
* %m is the message specified
*/
signkickformat = "%m (%n)"
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are used to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (e.g. a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get their channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "SOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel settings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows redefining which privileges
* are represented by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directives 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
/*
* The maximum number of entries that may be on a mode lock list.
*
* This directive is optional.
*/
max = 32
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persistent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each are determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users' status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module
{
name = "ms_ignore"
/*
* The maximum number of entries that may be on a memo ignore list.
*
* This directive is optional.
*/
max = 32
}
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in DefCon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd 3.2.
* See /helpop ?svso on your IRCd for more information.
*/
#module { name = "os_oline" }
#command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches its session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 5
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*/
#exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit https://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then want to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; permission = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kicker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantasist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
bbbd58a1df2171c2139d055b1d97b1487ed31954
1163
1162
2023-07-17T09:18:44Z
Pegasus
41
/* OperServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick. %n will be replaced with the user's nickname.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the killprotect
* option and the killprotect option must be specified with this one
* - kill_immed: Kill nick immediately if not identified, this one overrides both the killprotect
* and kill_quick options and the killprotect option must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide the nick's last or current user@host from NickServ's INFO command
* - hide_status: Hide the nick's services operator access status from NickServ's INFO command
* - hide_quit: Hide the nick's last quit message from NickServ's INFO command
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keep_modes: Enables keepmodes, which retains user modes across sessions
* - ns_no_expire: Enables no expire. Unconfirmed expire overrules this.
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "killprotect ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = no
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module
{
name = "ns_identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
*/
maxlogins = 10
}
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is optional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change its
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - cs_no_expire: Enables no expire. Needs founder, successor (if set) or anyone in the access list
* to be a registered nick, otherwise the channel will be dropped.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* The message formatting to use for signed kick messages.
* %n is the nick of the kicker
* %m is the message specified
*/
signkickformat = "%m (%n)"
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are used to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (e.g. a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get their channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "SOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel settings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows redefining which privileges
* are represented by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directives 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
/*
* The maximum number of entries that may be on a mode lock list.
*
* This directive is optional.
*/
max = 32
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persistent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each are determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users' status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module
{
name = "ms_ignore"
/*
* The maximum number of entries that may be on a memo ignore list.
*
* This directive is optional.
*/
max = 32
}
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in DefCon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; permission = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd 3.2.
* See /helpop ?svso on your IRCd for more information.
*/
#module { name = "os_oline" }
#command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches its session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 5
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*/
#exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit https://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
301e004c655349ceabd8889b3b150df0a6bf89cc
1162
1161
2023-07-17T09:18:03Z
Pegasus
41
Update with latest memoserv.example.conf config from git
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick. %n will be replaced with the user's nickname.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the killprotect
* option and the killprotect option must be specified with this one
* - kill_immed: Kill nick immediately if not identified, this one overrides both the killprotect
* and kill_quick options and the killprotect option must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide the nick's last or current user@host from NickServ's INFO command
* - hide_status: Hide the nick's services operator access status from NickServ's INFO command
* - hide_quit: Hide the nick's last quit message from NickServ's INFO command
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keep_modes: Enables keepmodes, which retains user modes across sessions
* - ns_no_expire: Enables no expire. Unconfirmed expire overrules this.
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "killprotect ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = no
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module
{
name = "ns_identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
*/
maxlogins = 10
}
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is optional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change its
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - cs_no_expire: Enables no expire. Needs founder, successor (if set) or anyone in the access list
* to be a registered nick, otherwise the channel will be dropped.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* The message formatting to use for signed kick messages.
* %n is the nick of the kicker
* %m is the message specified
*/
signkickformat = "%m (%n)"
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are used to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (e.g. a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get their channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "SOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel settings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows redefining which privileges
* are represented by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directives 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
/*
* The maximum number of entries that may be on a mode lock list.
*
* This directive is optional.
*/
max = 32
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persistent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each are determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users' status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module
{
name = "ms_ignore"
/*
* The maximum number of entries that may be on a memo ignore list.
*
* This directive is optional.
*/
max = 32
}
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
92ad64bcc9934c29a7709e6cccc4c28596c06a3e
1161
1160
2023-07-17T09:15:59Z
Pegasus
41
Update with latest chanserv.example.conf config from git
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick. %n will be replaced with the user's nickname.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the killprotect
* option and the killprotect option must be specified with this one
* - kill_immed: Kill nick immediately if not identified, this one overrides both the killprotect
* and kill_quick options and the killprotect option must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide the nick's last or current user@host from NickServ's INFO command
* - hide_status: Hide the nick's services operator access status from NickServ's INFO command
* - hide_quit: Hide the nick's last quit message from NickServ's INFO command
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keep_modes: Enables keepmodes, which retains user modes across sessions
* - ns_no_expire: Enables no expire. Unconfirmed expire overrules this.
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "killprotect ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = no
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module
{
name = "ns_identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
*/
maxlogins = 10
}
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is optional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change its
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - cs_no_expire: Enables no expire. Needs founder, successor (if set) or anyone in the access list
* to be a registered nick, otherwise the channel will be dropped.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* The message formatting to use for signed kick messages.
* %n is the nick of the kicker
* %m is the message specified
*/
signkickformat = "%m (%n)"
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are used to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (e.g. a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get their channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "SOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel settings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows redefining which privileges
* are represented by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directives 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
/*
* The maximum number of entries that may be on a mode lock list.
*
* This directive is optional.
*/
max = 32
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persistent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; hide = yes; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each are determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users' status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
b6caa3e4805041c858964bfe40c748e4ab1cf4f3
1160
1159
2023-07-17T09:14:02Z
Pegasus
41
Update with latest nickserv.example.conf config from git
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick. %n will be replaced with the user's nickname.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the killprotect
* option and the killprotect option must be specified with this one
* - kill_immed: Kill nick immediately if not identified, this one overrides both the killprotect
* and kill_quick options and the killprotect option must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide the nick's last or current user@host from NickServ's INFO command
* - hide_status: Hide the nick's services operator access status from NickServ's INFO command
* - hide_quit: Hide the nick's last quit message from NickServ's INFO command
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keep_modes: Enables keepmodes, which retains user modes across sessions
* - ns_no_expire: Enables no expire. Unconfirmed expire overrules this.
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "killprotect ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = no
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module
{
name = "ns_identify"
/*
* If set, limits the number of concurrent users that can be logged in as a given account at once.
*/
maxlogins = 10
}
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publicly shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is optional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET DISCORD"; command = "nickserv/set/misc"; misc_description = _("Associate a Discord account with your account"); }
#command { service = "NickServ"; name = "SASET DISCORD"; command = "nickserv/saset/misc"; misc_description = _("Associate a Discord account with this account"); permission = "nickserv/saset/discord"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
231117b3084520cbbaa13acb18d3e549b7b4e290
1159
1158
2023-07-17T09:09:23Z
Pegasus
41
Up-to-date configuration picked from latest git
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.example.com"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - https://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* # This goes in inspircd.conf, *NOT* your Anope config!
* <module name="hidechans">
* <module name="services_account">
* <module name="spanningtree">
* <bind address="127.0.0.1" port="7000" type="servers">
* <link name="services.example.com"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.example.com" silent="yes">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* // This goes in unrealircd.conf, *NOT* your Anope config!
* listen {
* ip 127.0.0.1;
* port 7000;
* options {
* serversonly;
* };
* };
* link services.example.com {
* incoming {
* mask *@127.0.0.1;
* };
* password "mypassword";
* class servers;
* };
* ulines { services.example.com; };
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.example.com"
/*
* The text which should appear as the server's information in /WHOIS and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - inspircd3
* - ngircd
* - plexus
* - ratbox
* - unreal (for 3.2.x)
* - unreal4 (for 4.x or later)
*/
module
{
name = "inspircd3"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* Characters allowed in nicknames. This always includes the characters described
* in RFC1459, and so does not need to be set for normal behavior. Changing this to
* include characters your IRCd doesn't support will cause your IRCd and/or Services
* to break. Multibyte characters are not supported, nor are escape sequences.
*
* It is recommended you DON'T change this.
*/
#nick_chars = ""
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the "msg" option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@example.com. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of U-lined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
#regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /NICKSERV SET LANGUAGE.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that English should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, e.g. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*
* If you specify a filename the current date in the format ".YYYYMMDD" will be appended to the path.
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (e.g. OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if the
* target directive is set to a channel or globops.
*/
bot = "Global"
/*
* The number of days to keep log files, only useful if you are logging to a file.
* Set to 0 to never delete old log files.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pseudo-serv/commandname (e.g. operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper, away
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
bot = "Global"
target = "globops"
admin = "global/* operserv/chankill operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* botserv/fantasy - Can use fantasy commands without the FANTASIA privilege
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/list - Can view channel access and akick lists, but not modify them
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /CHANSERV INFO
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /MEMOSERV INFO
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /NICKSERV INFO
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* nickserv/recover - Can recover other users nicks
* operserv/config - Can modify services's configuration
* operserv/oper/modify - Can add and remove operators with at most the same privileges
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/noexpire
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
* You can also negate values with a ~. For example, "~operserv/akill operserv/*" would allow all OperServ
* commands except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would allow everything because * matches everything.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Separate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "botserv/* chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined, the user must login using "/OPERSERV LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@example.com"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The content type to use when sending emails.
*
* This directive is optional, and is generally only needed if you want to
* use HTML or non UTF-8 text in your services emails.
*/
#content_type = "text/plain; charset=UTF-8"
/*
* The subject and message of emails sent to users when they register accounts.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*
* Available tokens for this template are:
* %e - Gets replaced with the old email address
* %E - Gets replaced with the new email address
* %n - Gets replaced with the nickname
* %N - Gets replaced with the network name
* %c - Gets replaced with the confirmation code
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address from %e to %E.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*
* Available tokens for this template are:
* %n - Gets replaced with the nickname
* %s - Gets replaced with the sender's nickname
* %d - Gets replaced with the memo number
* %t - Gets replaced with the memo text
* %N - Gets replaced with the network name
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (https://redis.io/) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* enc_md5, enc_sha1, and enc_old are deprecated, and are provided for users
* to upgrade to a newer encryption module. Do not use them as the primary
* encryption module. They will be removed in a future release.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/* Deprecated encryption modules */
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
1c4642919bf419dab277eaae859fa75ddbadc9fb
1158
1155
2023-07-17T09:06:41Z
Pegasus
41
Add unreal4 and inspircd3 protocols
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12 (for 1.2.x)
::* inspircd20 (for 2.x)
::* inspircd3 (for 3.x)
::* ngircd
::* plexus
::* ratbox
::* unreal (for 3.2.x)
::* unreal4 (for 4.x or later)
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration. at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.localhost.net"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.localhost.net"
/*
* The text which should appear as the server's information in /whois and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of ulined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /nickserv set language.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that english should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if there
* is a channel in the target directive.
*/
bot = "Global"
/*
* The number of days to keep logfiles, only useful if you are logging to a file.
* Set to 0 to never delete old logfiles.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /chanserv info
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /memoserv info
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/access/list chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/keepmodes
* chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/restricted
* chanserv/saset/peace chanserv/saset/persist chanserv/saset/private
* chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops
* chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock
* chanserv/saset/url chanserv/saset/noexpire chanserv/saset/autoop
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Seperate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@localhost.net"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The subject and message of emails sent to users when they register accounts.
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address to %e.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
* versions prior to Anope 1.7.17. If your databases were made using that module,
* use this and not enc_md5.
*
* NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
* potentially broken when moving between 2 different OSes, such as moving from
* Linux to Windows. It is recommended that you use enc_sha256 instead if you want
* to use an SHA-based encryption. If you choose to do so, it is also recommended
* that you first try to get everyone's passwords converted to enc_sha256 before
* switching OSes by placing enc_sha256 at the beginning of the list.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
9b1c336268200ac260d4c05473be85938205bcd8
1155
1149
2022-01-01T04:56:57Z
Sinistar
39
Correction: strinctpasswords= should be strictpasswords=
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12
::* inspircd20
::* ngircd
::* plexus
::* ratbox
::* unreal
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strictpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration. at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.localhost.net"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.localhost.net"
/*
* The text which should appear as the server's information in /whois and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of ulined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /nickserv set language.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that english should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if there
* is a channel in the target directive.
*/
bot = "Global"
/*
* The number of days to keep logfiles, only useful if you are logging to a file.
* Set to 0 to never delete old logfiles.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /chanserv info
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /memoserv info
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/access/list chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/keepmodes
* chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/restricted
* chanserv/saset/peace chanserv/saset/persist chanserv/saset/private
* chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops
* chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock
* chanserv/saset/url chanserv/saset/noexpire chanserv/saset/autoop
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Seperate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@localhost.net"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The subject and message of emails sent to users when they register accounts.
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address to %e.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
* versions prior to Anope 1.7.17. If your databases were made using that module,
* use this and not enc_md5.
*
* NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
* potentially broken when moving between 2 different OSes, such as moving from
* Linux to Windows. It is recommended that you use enc_sha256 instead if you want
* to use an SHA-based encryption. If you choose to do so, it is also recommended
* that you first try to get everyone's passwords converted to enc_sha256 before
* switching OSes by placing enc_sha256 at the beginning of the list.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
978c2a3c933280046cf22d3c8d34c5be827d23f3
1149
1075
2020-07-18T03:29:12Z
Gavin
30
changed code tag to div tag
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12
::* inspircd20
::* ngircd
::* plexus
::* ratbox
::* unreal
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strinctpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration. at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.localhost.net"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.localhost.net"
/*
* The text which should appear as the server's information in /whois and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of ulined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /nickserv set language.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that english should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if there
* is a channel in the target directive.
*/
bot = "Global"
/*
* The number of days to keep logfiles, only useful if you are logging to a file.
* Set to 0 to never delete old logfiles.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /chanserv info
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /memoserv info
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/access/list chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/keepmodes
* chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/restricted
* chanserv/saset/peace chanserv/saset/persist chanserv/saset/private
* chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops
* chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock
* chanserv/saset/url chanserv/saset/noexpire chanserv/saset/autoop
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Seperate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@localhost.net"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The subject and message of emails sent to users when they register accounts.
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address to %e.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
* versions prior to Anope 1.7.17. If your databases were made using that module,
* use this and not enc_md5.
*
* NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
* potentially broken when moving between 2 different OSes, such as moving from
* Linux to Windows. It is recommended that you use enc_sha256 instead if you want
* to use an SHA-based encryption. If you choose to do so, it is also recommended
* that you first try to get everyone's passwords converted to enc_sha256 before
* switching OSes by placing enc_sha256 at the beginning of the list.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</div>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
39ecbbd5a9df71b81ce831e4a91f3b154da61811
1075
1032
2014-07-13T17:08:14Z
Azander
9
/* Main Configuration */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Sections ===
==== Defines ====
:;define {...} :
::;name= :What to define
::;value= :What the defined value should be set to. This is similar to setting a variable.
==== Includes ====
:;include {...} :
::;type= :What type of include to use
::;name= :What to include.
==== IRCD Config ====
:* '''NOTE''': Do NOT just uncomment the example IRCd links and expect them to work. These are examples of what you need to add to your IRCd configuration so that services, using the uplink section, can connect to the IRCd.
:;uplink {...} :
::;host= :The IRCd's host address (recommended to use IP only)
::;ipv6= :Is the host using IPv6
::;ssl= :Use SSL to connect to the IRCd? Not needed is you are connecting via localhost.
::;port= :The port that the IRCd is listening on, to connect services to.
::;password= :The connect password from your IRCd link definition in the IRCd configuration.
==== Server Information ====
:;serverinfo {...} :
::;name= :Services' host name as seen by clients who connect to your network
::;description= :The "name" field show when your services is /whois'd
::;localhost= :The local (machine where services is running) address for services to connect FROM '''Optional and not normally needed'''
::;id= :Server ID. '''Only needed if your ircd supports/requires it'''
::;pid= :Process ID file. This defines where it is stored, relative to your running services folder
::;motd= :Message Of The Day file. This defines where it is stored, relative to your running services folder
==== Protocol ====
:Supported protocols
::* bahamut
::* charybdis
::* hybrid
::* inspircd12
::* inspircd20
::* ngircd
::* plexus
::* ratbox
::* unreal
:;module {...} :
::;name= :Name of the (above) supported protocol to load, you can have only 1.
::;use_server_side_mlock= :If the protocol for your IRCd support it, enable server side mlock to allow the ircd to handle the mlocking status
::;use_server_side_topiclock= :If the protocol for IRCd support it, enable the server side topic locking to allow the ircd to handle it.
==== Network Information ====
:;networkinfo {...} :
::;networkname= :Short Name of your network
::;nicklen= :Maximum length of nicknames on your network. This must match the size defined in your IRCd configuration.
::;userlen= :Maximum length of idents on your network. This must match the size defined in your IRCd configuration.
::;hostlen= :Maximum length of hostnames on your network. This must match the size defined in your IRCd configuration.
::;chanlen= :Maximum length of channel names on your network. This must match the size defined in your IRCd configuration.
::;modelistsize= :Maximum length of list modes (Bans, Exceptions, etc) settable on your network. This must match the size defined in your IRCd configuration.
::;vhost_chars= :Allowed characters in hostnames. It is recommended that you DO NOT change this, unless you have a really good understanding of your ircd and what valid hostnames are.
::;allow_undotted_vhost= :Allow vhost that do not contain at least a single '.'? This is not recommended.
::;disallow_start_or_end= :Prevent vhosts that begin or end with the defined characters. Changing this value is not recommended.
==== Services Process Options ====
:;options {...} :
::;user= :User to run the services process as.
::;group= :Group to run the services process as.
::;casemap= :The character set services uses. Once set, changing the value is not recommended. The default is ASCII which is what most IRCd's use by default.
::;seed= :This is the random number seed needed for your internal random number generation.
::;strinctpasswords= :Require strict passwords that contain at least 5 characters in length and do not match the nickname.
::;badpasslimit= :Number of times you can fail to enter your password before services /KILL's the user attempting the passwords.
::;badpasstimeout= :The time before the badpasslimit count resets the attempted counts to 0.
::;updatetimeout= :The time between automatic database updates.
::;expiretimeout= :The time between checking for expired nicknames, and channels.
::;readtimeout= :The time to allow the uplink to try to connect, if it does not connect, then issue an error message and stop.
::;warningtimeout= :Send out program errors and warning messages at this interval.
::;timeoutcheck= :The maximum time to check the timeout list of the uplink, etc.
::;useprivmsg= :This breaks the '''STANDARDS''' or the protocol, and is not recommended. It allows services to use /MSG instead of /NOTICE when sending information to the user. If enabled, the nickserv option defmsg can set weather or not to use NOTICE or MSG by default. It also allows users to chose between the two.
::;usestrictprivmsg= :This will force they use of '/msg service@services.host command' instead of the '/msg services command' which would normally be converted from '/service command' using your IRCd command aliases function. Leave commented out to disable.
::;hidestatso= :Hide the list of ircops from users who try to use '/stats o'
::;ulineservers= :This is a list of servers that Services will not try to reverse mode changes for. '''WARNING''':Do NOT put your normal IRC user servers in this directive.
::;retrywiat= :How long to wait before retrying to reconnect with the IRCd if the link dies.
::;hideprivilegedcommands= :Hide commands that the user does not have access to.
::;hideregisteredcommands= :Hide commands that the user does not have access to unless they log in to nickserv.
::;regexengine= :The regular expression engine to use. See Regex modules.
::;languages= :Supported languages, '''IF your Operating system supports them'''.
::;defaultlanguage= :What your server's default language is, if it is something other than English.
==== Logging ====
:;log {...} :
::;target= :Where to send log entries. This is a space seperated list.
::;source= :The source(s) to allow logs from.
::;bot= :Name of the generic Messaging nick
::;logage= :How many days to keep log files
::;What to log... :
:::;admin= :Admin commands logged
:::;override= :Overriden (by services admin/root) commands logged
:::;commands= :Commandslogged
:::;servers= :Service messaging logged
:::;channels= :Channel commands logged
:::;users= :User connects, nick changes, etc commands logged
:::;other= :Other commands/entries logged
:::;rawio= :log raw communications between services and the ircd. Recommended this be set to no.
:::;debug= :log debug information. Recommended this be set to no.
==== Opertypes ====
:;opertype {...}
::;name= :Oper type definition name
::;commands= :What this oper type has access to
::;inherits= :What is hinherited from other opertype blocks
::;privs= :What services privileges this opertype has access to
::;modes= :What mode to automatically give the user, note that some IRCd's do not support this.
==== Oper defines ====
:;oper {...} :
::;name= :Oper's Nickname
::;type= :Opertype
::;require_oper= :Require the oper to be opere'd on the ircd before recognising their status in services
::;password= :Optional password to have to login to to use oper level commands. If you are not using '''require_oper''' then this should be used.
::;certfp= :Secure Cert finger print for oper access. This is nor supported in all IRCd's
::;host= :Space separated Hostmask(s) for this oper
::;vhost- :Oper Vhost. This will override any other vhost they may have.
==== Mail ====
:;mail {...} :
::;usemail= :Should we use email
::;sendmailpath= :Path to sendmail-like program on your system
::;sendfrom= :Email address the email comes from
::;delay= :The minimum amount of time between emails triggered by the same user.
::;dontquoteaddresses= :Should we not put quotes around email names in the TO: field?
::;registration_subject= :Subject of nick registration email
::;registration_message= :Message of nick registration email
::;reset_subject= :Subject of password reset email
::;reset_message= :Message of password reset email
::;emailchange_subject= :Subject of email change email
::;emailchange_message= :Message of email change email
::;memo_subject= :Subject of memo notification email
::;memo_message= :Message of memo notification email
==== Database Module ====
:;module {...} :
::;name= :Name of module
::*May includ other options such as engine name, and others.
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration. at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.localhost.net"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.localhost.net"
/*
* The text which should appear as the server's information in /whois and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of ulined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /nickserv set language.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that english should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if there
* is a channel in the target directive.
*/
bot = "Global"
/*
* The number of days to keep logfiles, only useful if you are logging to a file.
* Set to 0 to never delete old logfiles.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /chanserv info
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /memoserv info
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/access/list chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/keepmodes
* chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/restricted
* chanserv/saset/peace chanserv/saset/persist chanserv/saset/private
* chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops
* chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock
* chanserv/saset/url chanserv/saset/noexpire chanserv/saset/autoop
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Seperate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@localhost.net"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The subject and message of emails sent to users when they register accounts.
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address to %e.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
* versions prior to Anope 1.7.17. If your databases were made using that module,
* use this and not enc_md5.
*
* NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
* potentially broken when moving between 2 different OSes, such as moving from
* Linux to Windows. It is recommended that you use enc_sha256 instead if you want
* to use an SHA-based encryption. If you choose to do so, it is also recommended
* that you first try to get everyone's passwords converted to enc_sha256 before
* switching OSes by placing enc_sha256 at the beginning of the list.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</code>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
523e606a4fe2af1c3a020f8736adf21aba74d7ec
1032
1031
2014-06-01T00:58:58Z
Azander
9
/* Services Configuration */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration. at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.localhost.net"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.localhost.net"
/*
* The text which should appear as the server's information in /whois and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of ulined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /nickserv set language.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that english should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if there
* is a channel in the target directive.
*/
bot = "Global"
/*
* The number of days to keep logfiles, only useful if you are logging to a file.
* Set to 0 to never delete old logfiles.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /chanserv info
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /memoserv info
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/access/list chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/keepmodes
* chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/restricted
* chanserv/saset/peace chanserv/saset/persist chanserv/saset/private
* chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops
* chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock
* chanserv/saset/url chanserv/saset/noexpire chanserv/saset/autoop
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Seperate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@localhost.net"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The subject and message of emails sent to users when they register accounts.
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address to %e.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
* versions prior to Anope 1.7.17. If your databases were made using that module,
* use this and not enc_md5.
*
* NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
* potentially broken when moving between 2 different OSes, such as moving from
* Linux to Windows. It is recommended that you use enc_sha256 instead if you want
* to use an SHA-based encryption. If you choose to do so, it is also recommended
* that you first try to get everyone's passwords converted to enc_sha256 before
* switching OSes by placing enc_sha256 at the beginning of the list.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</code>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
d91c296fa7bc58febb518a30d73bc1c9298b7912
1031
1030
2014-05-31T21:12:14Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration. at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.localhost.net"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.localhost.net"
/*
* The text which should appear as the server's information in /whois and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of ulined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /nickserv set language.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that english should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if there
* is a channel in the target directive.
*/
bot = "Global"
/*
* The number of days to keep logfiles, only useful if you are logging to a file.
* Set to 0 to never delete old logfiles.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /chanserv info
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /memoserv info
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/access/list chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/keepmodes
* chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/restricted
* chanserv/saset/peace chanserv/saset/persist chanserv/saset/private
* chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops
* chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock
* chanserv/saset/url chanserv/saset/noexpire chanserv/saset/autoop
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Seperate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@localhost.net"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The subject and message of emails sent to users when they register accounts.
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address to %e.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
* versions prior to Anope 1.7.17. If your databases were made using that module,
* use this and not enc_md5.
*
* NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
* potentially broken when moving between 2 different OSes, such as moving from
* Linux to Windows. It is recommended that you use enc_sha256 instead if you want
* to use an SHA-based encryption. If you choose to do so, it is also recommended
* that you first try to get everyone's passwords converted to enc_sha256 before
* switching OSes by placing enc_sha256 at the beginning of the list.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</code>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
=== ChanStats ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight>
</div>
6e5d5aa8c11dc7efce7d16f73d112d15b6fa528f
1030
1029
2014-05-31T21:10:58Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
''' These are ALL example configuration files, as found in the Anope 2.0 Source'''
== <div class="moduleheader">Main Configuration</div> ==
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration. at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.localhost.net"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.localhost.net"
/*
* The text which should appear as the server's information in /whois and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of ulined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /nickserv set language.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that english should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if there
* is a channel in the target directive.
*/
bot = "Global"
/*
* The number of days to keep logfiles, only useful if you are logging to a file.
* Set to 0 to never delete old logfiles.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /chanserv info
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /memoserv info
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/access/list chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/keepmodes
* chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/restricted
* chanserv/saset/peace chanserv/saset/persist chanserv/saset/private
* chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops
* chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock
* chanserv/saset/url chanserv/saset/noexpire chanserv/saset/autoop
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Seperate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@localhost.net"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The subject and message of emails sent to users when they register accounts.
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address to %e.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
* versions prior to Anope 1.7.17. If your databases were made using that module,
* use this and not enc_md5.
*
* NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
* potentially broken when moving between 2 different OSes, such as moving from
* Linux to Windows. It is recommended that you use enc_sha256 instead if you want
* to use an SHA-based encryption. If you choose to do so, it is also recommended
* that you first try to get everyone's passwords converted to enc_sha256 before
* switching OSes by placing enc_sha256 at the beginning of the list.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</code>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
92e49d541304c882055e0f86e41f75b30fcbd898
1029
1028
2014-05-31T21:10:41Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
** These are ALL example configuration files, as found in the Anope 2.0 Source **
== <div class="moduleheader">Main Configuration</div> ==
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration. at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.localhost.net"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.localhost.net"
/*
* The text which should appear as the server's information in /whois and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of ulined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /nickserv set language.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that english should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if there
* is a channel in the target directive.
*/
bot = "Global"
/*
* The number of days to keep logfiles, only useful if you are logging to a file.
* Set to 0 to never delete old logfiles.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /chanserv info
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /memoserv info
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/access/list chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/keepmodes
* chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/restricted
* chanserv/saset/peace chanserv/saset/persist chanserv/saset/private
* chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops
* chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock
* chanserv/saset/url chanserv/saset/noexpire chanserv/saset/autoop
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Seperate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@localhost.net"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The subject and message of emails sent to users when they register accounts.
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address to %e.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
* versions prior to Anope 1.7.17. If your databases were made using that module,
* use this and not enc_md5.
*
* NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
* potentially broken when moving between 2 different OSes, such as moving from
* Linux to Windows. It is recommended that you use enc_sha256 instead if you want
* to use an SHA-based encryption. If you choose to do so, it is also recommended
* that you first try to get everyone's passwords converted to enc_sha256 before
* switching OSes by placing enc_sha256 at the beginning of the list.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</code>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
0e7c16084d31f3000a2fbef4edfe2ba81935f512
1028
1027
2014-05-31T21:10:01Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Main Configuration</div> ==
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration. at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.localhost.net"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.localhost.net"
/*
* The text which should appear as the server's information in /whois and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of ulined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /nickserv set language.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that english should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if there
* is a channel in the target directive.
*/
bot = "Global"
/*
* The number of days to keep logfiles, only useful if you are logging to a file.
* Set to 0 to never delete old logfiles.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /chanserv info
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /memoserv info
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/access/list chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/keepmodes
* chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/restricted
* chanserv/saset/peace chanserv/saset/persist chanserv/saset/private
* chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops
* chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock
* chanserv/saset/url chanserv/saset/noexpire chanserv/saset/autoop
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Seperate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@localhost.net"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The subject and message of emails sent to users when they register accounts.
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address to %e.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
* versions prior to Anope 1.7.17. If your databases were made using that module,
* use this and not enc_md5.
*
* NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
* potentially broken when moving between 2 different OSes, such as moving from
* Linux to Windows. It is recommended that you use enc_sha256 instead if you want
* to use an SHA-based encryption. If you choose to do so, it is also recommended
* that you first try to get everyone's passwords converted to enc_sha256 before
* switching OSes by placing enc_sha256 at the beginning of the list.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
== <div class="moduleheader">Other Configuration</div> ==
=== Global ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Global.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the Global client.
* If you change this value, you probably want to change the client directive in the configuration for the global module too.
*/
nick = "Global"
/*
* The username of the Global client.
*/
user = "services"
/*
* The hostname of the Global client.
*/
host = "services.host"
/*
* The realname of the Global client.
*/
gecos = "Global Noticer"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core Global module.
*
* Provides essential functionality for Global.
*/
module
{
name = "global"
/*
* The name of the client that should be Global.
*/
client = "Global"
/*
* This is the global message that will be sent when Services are being
* shutdown/restarted.
*
* This directive is optional.
*/
#globaloncycledown = "Services are restarting, they will be back shortly - please be good while we're gone"
/*
* This is the global message that will be sent when Services (re)join the
* network.
*
* This directive is optional.
*/
#globaloncycleup = "Services are now back online - have a nice day"
/*
* If set, Services will hide the IRC Operator's nick in a global
* message/notice.
*
* This directive is optional.
*/
#anonymousglobal = yes
}
/*
* Core Global commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "Global"; name = "HELP"; command = "generic/help"; }
/*
* gl_global
*
* Provides the command global/global.
*
* Used for sending a message to every online user.
*/
module { name = "gl_global" }
command { service = "Global"; name = "GLOBAL"; command = "global/global"; permission = "global/global"; }
</syntaxhighlight>
</div>
=== Modules ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [OPTIONAL] Non-Core Modules
*
* The following blocks are used to load all non-core modules, including 3rd-party modules.
* Modules can be prevented from loading by commenting out the line, other modules can be added by
* adding a module block. These modules will be loaded prior to Services connecting to your network.
*
* Note that some of these modules are labeled EXTRA, and must be enabled prior to compiling by
* running the 'extras' script on Linux and UNIX.
*/
/*
* help
*
* Provides the command generic/help.
*
* This is a generic help command that can be used with any client.
*/
module { name = "help" }
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
/*
* m_helpchan
*
* Gives users who are op in the specified help channel usermode +h (helpop).
*/
#module
{
name = "m_helpchan"
helpchannel = "#help"
}
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
/*
* m_regex_pcre [EXTRA]
*
* Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library.
*/
#module { name = "m_regex_pcre" }
/*
* m_regex_posix [EXTRA]
*
* Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions.
* This is likely the only regex module you will not need extra libraries for.
*/
#module { name = "m_regex_posix" }
/*
* m_regex_tre [EXTRA]
*
* Provides the regex engine regex/tre, which uses the TRE regex library.
*/
#module { name = "m_regex_tre" }
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
/*
* m_sasl
*
* Some IRCds allow "SASL" authentication to let users identify to Services
* during the IRCd user registration process. If this module is loaded, Services will allow
* authenticating users through this mechanism. Supported mechanisms are:
* PLAIN, EXTERNAL.
*/
#module { name = "m_sasl" }
/*
* m_sasl_dh-aes [EXTRA]
*
* Add the DH-AES mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-aes" }
/*
* m_sasl_dh-blowfish [EXTRA]
*
* Add the DH-BLOWFISH mechanism to SASL.
* Requires m_sasl to be loaded.
* Requires openssl.
*/
#module { name = "m_sasl_dh-blowfish" }
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_ssl_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_ssl_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@))"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
/*
* m_sql_log [EXTRA]
*
* This module adds an additional target option to log{} blocks
* that allows logging Service's logs to SQL. To log to SQL, add
* the SQL service name to log:targets prefixed by sql_log:. For
* example:
*
* log
* {
* targets = "services.log sql_log:mysql/main"
* ...
* }
*
* By default this module logs to the table `logs`, and will create
* it if it doesn't exist. This module does not create any indexes (keys)
* on the table and it is recommended you add them yourself as necessary.
*/
#module { name = "m_sql_log" }
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
/*
* m_xmlrpc_main
*
* Adds the main XMLRPC core functions.
* Requires m_xmlrpc.
*/
#module { name = "m_xmlrpc_main" }
</syntaxhighlight>
</code>
=== irc2sql ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight>
</div>
c30be35d49866b5f20ba1745403510eeb0f83509
1027
1026
2014-05-31T21:06:01Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Main Configuration</div> ==
=== Example Conf ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Services. After making the appropriate
* changes to this file, place it in the Services conf directory (as
* specified in the "configure" script, default /home/username/services/conf)
* under the name "services.conf".
*
* The format of this file is fairly simple: three types of comments are supported:
* - All text after a '#' on a line is ignored, as in shell scripting
* - All text after '//' on a line is ignored, as in C++
* - A block of text like this one is ignored, as in C
*
* Outside of comments, there are three structures: blocks, keys, and values.
*
* A block is a named container, which contains a number of key to value pairs
* - you may think of this as an array.
*
* A block is created like so:
* foobar
* {
* moo = "cow"
* foo = bar
* }
*
* Note that nameless blocks are allowed and are often used with comments to allow
* easily commenting an entire block, for example:
* #foobar
* {
* moo = "cow"
* foo = bar
* }
* is an entirely commented block.
*
* Keys are case insensitive. Values depend on what key - generally, information is
* given in the key comment. The quoting of values (and most other syntax) is quite
* flexible, however, please do not forget to quote your strings:
*
* "This is a parameter string with spaces in it"
*
* If you need to include a double quote inside a quoted string, precede it
* by a backslash:
*
* "This string has \"double quotes\" in it"
*
* Time parameters can be specified either as an integer representing a
* number of seconds (e.g. "3600" = 1 hour), or as an integer with a unit
* specifier: "s" = seconds, "m" = minutes, "h" = hours, "d" = days.
* Combinations (such as "1h30m") are not permitted. Examples (all of which
* represent the same length of time, one day):
*
* "86400", "86400s", "1440m", "24h", "1d"
*
* In the documentation for each directive, one of the following will be
* included to indicate whether an option is required:
*
* [REQUIRED]
* Indicates a directive which must be given. Without it, Services will
* not start.
*
* [RECOMMENDED]
* Indicates a directive which may be omitted, but omitting it may cause
* undesirable side effects.
*
* [OPTIONAL]
* Indicates a directive which is optional. If not given, the feature
* will typically be disabled. If this is not the case, more
* information will be given in the documentation.
*
* [DISCOURAGED]
* Indicates a directive which may cause undesirable side effects if
* specified.
*
* [DEPRECATED]
* Indicates a directive which will disappear in a future version of
* Services, usually because its functionality has been either
* superseded by that of other directives or incorporated into the main
* program.
*/
/*
* [OPTIONAL] Defines
*
* You can define values to other values, which can be used to easily change
* many values in the configuration. at once.
*/
/*
* The services.host define is used in multiple different locations throughout the
* configuration for services clients hostnames.
*/
define
{
name = "services.host"
value = "services.localhost.net"
}
/*
* [OPTIONAL] Additional Includes
*
* You can include additional configuration files here.
* You may also include executable files, which will be executed and
* the output from it will be included into your configuration.
*/
#include
{
type = "file"
name = "some.conf"
}
#include
{
type = "executable"
name = "/usr/bin/wget -q -O - http://some.misconfigured.network.com/services.conf"
}
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Server Information
*
* This section contains information about the Services server.
*/
serverinfo
{
/*
* The hostname that Services will be seen as, it must have no conflicts with any
* other server names on the rest of your IRC network. Note that it does not have
* to be an existing hostname, just one that isn't on your network already.
*/
name = "services.localhost.net"
/*
* The text which should appear as the server's information in /whois and similar
* queries.
*/
description = "Services for IRC Networks"
/*
* The local address that Services will bind to before connecting to the remote
* server. This may be useful for multihomed hosts. If omitted, Services will let
* the Operating System choose the local address. This directive is optional.
*
* If you don't know what this means or don't need to use it, just leave this
* directive commented out.
*/
#localhost = "nowhere."
/*
* What Server ID to use for this connection?
* Note: This should *ONLY* be used for TS6/P10 IRCds. Refer to your IRCd documentation
* to see if this is needed.
*/
#id = "00A"
/*
* The filename containing the Services process ID. The path is relative to the
* services root directory.
*/
pid = "data/services.pid"
/*
* The filename containing the Message of the Day. The path is relative to the
* services root directory.
*/
motd = "conf/services.motd"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
/*
* [REQUIRED] Network Information
*
* This section contains information about the IRC network that Services will be
* connecting to.
*/
networkinfo
{
/*
* This is the name of the network that Services will be running on.
*/
networkname = "LocalNet"
/*
* Set this to the maximum allowed nick length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
nicklen = 31
/* Set this to the maximum allowed ident length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
userlen = 10
/* Set this to the maximum allowed hostname length on your network.
* Be sure to set this correctly, as setting this wrong can result in
* Services being disconnected from the network.
*/
hostlen = 64
/* Set this to the maximum allowed channel length on your network.
*/
chanlen = 32
/* The maximum number of list modes settable on a channel (such as b, e, I).
* Comment out or set to 0 to disable.
*/
modelistsize = 100
/*
* The characters allowed in hostnames. This is used for validating hostnames given
* to services, such as BotServ bot hostnames and user vhosts. Changing this is not
* recommended unless you know for sure your IRCd supports whatever characters you are
* wanting to use. Telling services to set a vHost containing characters your IRCd
* disallows could potentially break the IRCd and/or Services.
*
* It is recommended you DON'T change this.
*/
vhost_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789.-"
/*
* If set to true, allows vHosts to not contain dots (.).
* Newer IRCds generally do not have a problem with this, but the same warning as
* vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
allow_undotted_vhosts = false
/*
* The characters that are not allowed to be at the very beginning or very ending
* of a vHost. The same warning as vhost_chars applies.
*
* It is recommended you DON'T change this.
*/
disallow_start_or_end = ".-"
}
/*
* [REQUIRED] Services Options
*
* This section contains various options which determine how Services will operate.
*/
options
{
/*
* On Linux/UNIX systems Anope can setuid and setgid to this user and group
* after starting up. This is useful if Anope has to bind to privileged ports
*/
#user = "anope"
#group = "anope"
/*
* The case mapping used by services. This must be set to a valid locale name
* installed on your machine. Services use this case map to compare, with
* case insensitivity, things such as nick names, channel names, etc.
*
* We provide two special casemaps shipped with Anope, ascii and rfc1459.
*
* This value should be set to what your IRCd uses, which is probably rfc1459,
* however Anope has always used ascii for comparison, so the default is ascii.
*
* Changing this value once set is not recommended.
*/
casemap = "ascii"
/*
* This key is used to initiate the random number generator. This number
* MUST be random as you want your passcodes to be random. Don't give this
* key to anyone! Keep it private!
*
* NOTE: If you don't uncomment this or keep the default values, any talented
* programmer would be able to easily "guess" random strings used to mask
* information. Be safe, and come up with a 7-digit number.
*
* This directive is optional, but highly recommended.
*/
#seed = 9866235
/*
* If set, Services will perform more stringent checks on passwords. If this
* isn't set, Services will only disallow a password if it is the same as the
* entity (nickname name) with which it is associated. When set, however,
* Services will also check that the password is at least five
* characters long, and in the future will probably check other things
* as well.
*
* This directive is optional, but recommended.
*/
strictpasswords = yes
/*
* Sets the number of invalid password tries before Services removes a user
* from the network. If a user enters a number of invalid passwords equal to
* the given amount for any Services function or combination of functions
* during a single IRC session (subject to badpasstimeout, below), Services
* will issues a /KILL for the user. If not given, Services will ignore
* failed password attempts (though they will be logged in any case).
*
* This directive is optional, but recommended.
*/
badpasslimit = 5
/*
* Sets the time after which invalid passwords are forgotten about. If a user
* does not enter any incorrect passwords in this amount of time, the incorrect
* password count will reset to zero. If not given, the timeout will be
* disabled, and the incorrect password count will never be reset until the user
* disconnects.
*
* This directive is optional.
*/
badpasstimeout = 1h
/*
* Sets the delay between automatic database updates.
*/
updatetimeout = 5m
/*
* Sets the delay between checks for expired nicknames and channels.
*/
expiretimeout = 30m
/*
* Sets the timeout period for reading from the uplink.
*/
readtimeout = 5s
/*
* Sets the interval between sending warning messages for program errors via
* WALLOPS/GLOBOPS.
*/
warningtimeout = 4h
/*
* Sets the (maximum) frequency at which the timeout list is checked. This,
* combined with readtimeout above, determines how accurately timed events,
* such as nick kills, occur; it also determines how much CPU time Services
* will use doing this. Higher values will cause less accurate timing but
* less CPU usage.
*
* Note that this value is not an absolute limit on the period between
* checks of the timeout list; the previous may be as great as readtimeout
* (above) during periods of inactivity.
*
* If this directive is not given, it will default to 0.
*/
timeoutcheck = 3s
/*
* If set, this will allow users to let Services send PRIVMSGs to them
* instead of NOTICEs. Also see the defmsg option of nickserv:defaults,
* which also toggles the default communication (PRIVMSG or NOTICE) to
* use for unregistered users.
*
* This is a feature that is against the IRC RFC and should be used ONLY
* if absolutely necessary.
*
* This directive is optional, and not recommended.
*/
#useprivmsg = yes
/*
* If set, will force Services to only respond to PRIVMSGs addresses to
* Nick@ServerName - e.g. NickServ@localhost.net. This should be used in
* conjunction with IRCd aliases. This directive is optional.
*
* This option will have no effect on some IRCds, such as TS6 IRCds.
*/
#usestrictprivmsg = yes
/*
* If set, Services will only show /stats o to IRC Operators. This directive
* is optional.
*/
#hidestatso = yes
/*
* A space-separated list of ulined servers on your network, it is assumed that
* the servers in this list are allowed to set channel modes and Services will
* not attempt to reverse their mode changes.
*
* WARNING: Do NOT put your normal IRC user servers in this directive.
*
* This directive is optional.
*/
#ulineservers = "stats.your.network"
/*
* How long to wait between connection retries with the uplink(s).
*/
retrywait = 60s
/*
* If set, Services will hide commands that users don't have the privilege to execute
* from HELP output.
*/
hideprivilegedcommands = yes
/*
* If set, Services will hide commands that users can't execute because they are not
* logged in from HELP output.
*/
hideregisteredcommands = yes
/* The regex engine to use, as provided by the regex modules.
* Leave commented to disable regex matching.
*
* Note for this to work the regex module providing the regex engine must be loaded.
*/
regexengine = "regex/pcre"
/*
* A list of languages to load on startup that will be available in /nickserv set language.
* Useful if you translate Anope to your language. (Explained further in docs/LANGUAGE).
* Note that english should not be listed here because it is the base language.
*
* Removing .UTF-8 will instead use the default encoding for the language, eg. iso-8859-1 for western European languages.
*/
languages = "ca_ES.UTF-8 de_DE.UTF-8 el_GR.UTF-8 es_ES.UTF-8 fr_FR.UTF-8 hu_HU.UTF-8 it_IT.UTF-8 nl_NL.UTF-8 pl_PL.UTF-8 pt_PT.UTF-8 ru_RU.UTF-8 tr_TR.UTF-8"
/*
* Default language that non- and newly-registered nicks will receive messages in.
* Set to "en" to enable English. Defaults to the language the system uses.
*/
#defaultlanguage = "es_ES.UTF-8"
}
/*
* [OPTIONAL] BotServ
*
* Includes botserv.example.conf, which is necessary for BotServ functionality.
*
* Remove this block to disable BotServ.
*/
include
{
type = "file"
name = "botserv.example.conf"
}
/*
* [RECOMMENDED] ChanServ
*
* Includes chanserv.example.conf, which is necessary for ChanServ functionality.
*
* Remove this block to disable ChanServ.
*/
include
{
type = "file"
name = "chanserv.example.conf"
}
/*
* [RECOMMENDED] Global
*
* Includes global.example.conf, which is necessary for Global functionality.
*
* Remove this block to disable Global.
*/
include
{
type = "file"
name = "global.example.conf"
}
/*
* [OPTIONAL] HostServ
*
* Includes hostserv.example.conf, which is necessary for HostServ functionality.
*
* Remove this block to disable HostServ.
*/
include
{
type = "file"
name = "hostserv.example.conf"
}
/*
* [OPTIONAL] MemoServ
*
* Includes memoserv.example.conf, which is necessary for MemoServ functionality.
*
* Remove this block to disable MemoServ.
*/
include
{
type = "file"
name = "memoserv.example.conf"
}
/*
* [OPTIONAL] NickServ
*
* Includes nickserv.example.conf, which is necessary for NickServ functionality.
*
* Remove this block to disable NickServ.
*/
include
{
type = "file"
name = "nickserv.example.conf"
}
/*
* [RECOMMENDED] OperServ
*
* Includes operserv.example.conf, which is necessary for OperServ functionality.
*
* Remove this block to disable OperServ.
*/
include
{
type = "file"
name = "operserv.example.conf"
}
/*
* [RECOMMENDED] Logging Configuration
*
* This section is used for configuring what is logged and where it is logged to.
* You may have multiple log blocks if you wish. Remember to properly secure any
* channels you choose to have Anope log to!
*/
log
{
/*
* Target(s) to log to, which may be one of the following:
* - a channel name
* - a filename
* - globops
*/
target = "services.log"
/* Log to both services.log and the channel #services
*
* Note that some older IRCds, such as Ratbox, require services to be in the
* log channel to be able to message it. To do this, configure service:channels to
* join your logging channel.
*/
#target = "services.log #services"
/*
* The source(s) to only accept log messages from. Leave commented to allow all sources.
* This can be a users name, a channel name, one of our clients (eg, OperServ), or a server name.
*/
#source = ""
/*
* The bot used to log generic messages which have no predefined sender if there
* is a channel in the target directive.
*/
bot = "Global"
/*
* The number of days to keep logfiles, only useful if you are logging to a file.
* Set to 0 to never delete old logfiles.
*
* Note that Anope must run 24 hours a day for this feature to work correctly.
*/
logage = 7
/*
* What types of log messages should be logged by this block. There are nine general categories:
*
* admin - Execution of admin commands (OperServ, etc).
* override - A services operator using their powers to execute a command they couldn't normally.
* commands - Execution of general commands.
* servers - Server actions, linking, squitting, etc.
* channels - Actions in channels such as joins, parts, kicks, etc.
* users - User actions such as connecting, disconnecting, changing name, etc.
* other - All other messages without a category.
* rawio - Logs raw input and output from services
* debug - Debug messages (log files can become VERY large from this).
*
* These options determine what messages from the categories should be logged. Wildcards are accepted, and
* you can also negate values with a ~. For example, "~operserv/akill operserv/*" would log all operserv
* messages except for operserv/akill. Note that processing stops at the first matching option, which
* means "* ~operserv/*" would log everything because * matches everything.
*
* Valid admin, override, and command options are:
* pesudo-serv/commandname (eg, operserv/akill, chanserv/set)
*
* Valid server options are:
* connect, quit, sync, squit
*
* Valid channel options are:
* create, destroy, join, part, kick, leave, mode
*
* Valid user options are:
* connect, disconnect, quit, nick, ident, host, mode, maxusers, oper
*
* Rawio and debug are simple yes/no answers, there are no types for them.
*
* Note that modules may add their own values to these options.
*/
admin = "*"
override = "chanserv/* nickserv/* memoserv/set ~botserv/set botserv/*"
commands = "~operserv/* *"
servers = "*"
#channels = "~mode *"
users = "connect disconnect nick"
other = "*"
rawio = no
debug = no
}
/*
* A log block to globops some useful things.
*/
log
{
target = "globops"
admin = "global/* operserv/mode operserv/kick operserv/akill operserv/s*line operserv/noop operserv/jupe operserv/oline operserv/set operserv/svsnick operserv/svsjoin operserv/svspart nickserv/getpass */drop"
servers = "squit"
users = "oper"
other = "expire/* bados akill/*"
}
/*
* [RECOMMENDED] Oper Access Config
*
* This section is used to set up staff access to restricted oper only commands.
* You may define groups of commands and privileges, as well as who may use them.
*
* This block is recommended, as without it you will be unable to access most oper commands.
* It replaces the old ServicesRoot directive amongst others.
*
* The command names below are defaults and are configured in the *serv.conf's. If you configure
* additional commands with permissions, such as commands from third party modules, the permissions
* must be included in the opertype block before the command can be used.
*
* Available privileges:
* botserv/administration - Can view and assign private BotServ bots
* chanserv/administration - Can modify the settings of any channel (including changing of the owner!)
* chanserv/access/modify - Can modify channel access and akick lists, and use /chanserv enforce
* chanserv/auspex - Can see any information with /chanserv info
* chanserv/no-register-limit - May register an unlimited number of channels and nicknames
* chanserv/kick - Can kick and ban users from channels through ChanServ
* memoserv/info - Can see any information with /memoserv info
* memoserv/set-limit - Can set the limit of max stored memos on any user and channel
* memoserv/no-limit - Can send memos through limits and throttles
* nickserv/access - Can modify other users access and certificate lists
* nickserv/alist - Can see the channel access list of other users
* nickserv/auspex - Can see any information with /nickserv info
* nickserv/confirm - Can confirm other users nicknames
* nickserv/drop - Can drop other users nicks
* operserv/config - Can modify services's configuration
* protected - Can not be kicked from channels by Services
*
* Available commands:
* botserv/bot/del botserv/bot/add botserv/bot/change botserv/set/private
* botserv/set/nobot
*
* chanserv/access/list chanserv/drop chanserv/getkey chanserv/invite
* chanserv/list chanserv/suspend chanserv/topic
*
* chanserv/saset/bantype chanserv/saset/description chanserv/saset/email chanserv/saset/keepmodes
* chanserv/saset/founder chanserv/saset/keeptopic chanserv/saset/restricted
* chanserv/saset/peace chanserv/saset/persist chanserv/saset/private
* chanserv/saset/secure chanserv/saset/securefounder chanserv/saset/secureops
* chanserv/saset/signkick chanserv/saset/successor chanserv/saset/topiclock
* chanserv/saset/url chanserv/saset/noexpire chanserv/saset/autoop
*
* memoserv/sendall memoserv/staff
*
* nickserv/getpass nickserv/getemail nickserv/suspend nickserv/ajoin
* nickserv/list
*
* nickserv/saset/autoop nickserv/saset/email nickserv/saset/greet nickserv/saset/password
* nickserv/saset/display nickserv/saset/kill nickserv/saset/language nickserv/saset/message
* nickserv/saset/private nickserv/saset/secure nickserv/saset/url nickserv/saset/noexpire
* nickserv/saset/keepmodes
*
* hostserv/set hostserv/del hostserv/list
*
* global/global
*
* operserv/news operserv/stats operserv/kick operserv/exception operserv/seen
* operserv/mode operserv/session operserv/modinfo operserv/ignore operserv/chanlist
* operserv/chankill operserv/akill operserv/sqline operserv/snline operserv/userlist
* operserv/oper operserv/config operserv/umode operserv/logsearch
* operserv/modload operserv/jupe operserv/set operserv/noop
* operserv/quit operserv/update operserv/reload operserv/restart
* operserv/shutdown operserv/svs operserv/oline operserv/kill
*
* Firstly, we define 'opertypes' which are named whatever we want ('Network Administrator', etc).
* These can contain commands for oper-only strings (see above) which grants access to that specific command,
* and privileges (which grant access to more general permissions for the named area).
* Wildcard entries are permitted for both, e.g. 'commands = "operserv/*"' for all OperServ commands.
*
* Below are some default example types, but this is by no means exhaustive,
* and it is recommended that you configure them to your needs.
*/
opertype
{
/* The name of this opertype */
name = "Helper"
/* What commands (see above) this opertype has */
commands = "hostserv/*"
}
opertype
{
/* The name of this opertype */
name = "Services Operator"
/* What opertype(s) this inherits from. Seperate with a comma. */
inherits = "Helper, Another Helper"
/* What commands (see above) this opertype may use */
commands = "chanserv/list chanserv/suspend chanserv/topic memoserv/staff nickserv/list nickserv/suspend operserv/mode operserv/chankill operserv/akill operserv/session operserv/modinfo operserv/sqline operserv/oper operserv/kick operserv/ignore operserv/snline"
/* What privs (see above) this opertype has */
privs = "chanserv/auspex chanserv/no-register-limit memoserv/* nickserv/auspex nickserv/confirm"
/*
* Modes to be set on users when they identify to accounts linked to this opertype.
*
* This can be used to automatically oper users who identify for services operator accounts, and is
* useful for setting modes such as Plexus's user mode +N.
*
* Note that some IRCds, such as InspIRCd, do not allow directly setting +o, and this will not work.
*/
#modes = "+o"
}
opertype
{
name = "Services Administrator"
inherits = "Services Operator"
commands = "chanserv/access/list chanserv/drop chanserv/getkey chanserv/saset/noexpire memoserv/sendall nickserv/saset/* nickserv/getemail operserv/news operserv/jupe operserv/svs operserv/stats operserv/oline operserv/noop operserv/forbid global/*"
privs = "*"
}
opertype
{
name = "Services Root"
commands = "*"
privs = "*"
}
/*
* After defining different types of operators in the above opertype section, we now define who is in these groups
* through 'oper' blocks, similar to ircd access.
*
* The default is to comment these out (so NOBODY will have Services access).
* You probably want to add yourself and a few other people at minimum.
*
* As with all permissions, make sure to only give trustworthy people access to Services.
*/
#oper
{
/* The nickname of this services oper */
#name = "nick1"
/* The opertype this person will have */
type = "Services Root"
/* If set, the user must be an oper on the IRCd to gain their Services
* oper privileges.
*/
require_oper = yes
/* An optional password. If defined the user must login using "/msg OperServ LOGIN" first */
#password = "secret"
/* An optional SSL fingerprint. If defined, it's required to be able to use this opertype. */
#certfp = "ed3383b3f7d74e89433ddaa4a6e5b2d7"
/* An optional list of user@host masks. If defined the user must be connected from one of them */
#host = "*@*.anope.org ident@*"
/* An optional vHost to set on users who identify for this oper block.
* This will override HostServ vHosts, and may not be available on all IRCds
*/
#vhost = "oper.mynet"
}
#oper
{
name = "nick2"
type = "Services Administrator"
}
#oper
{
name = "nick3"
type = "Helper"
}
/*
* [OPTIONAL] Mail Config
*
* This section contains settings related to the use of e-mail from Services.
* If the usemail directive is set to yes, unless specified otherwise, all other
* directives are required.
*
* NOTE: Users can find the IP of the machine services is running on by examining
* mail headers. If you do not want your IP known, you should set up a mail relay
* to strip the relevant headers.
*/
mail
{
/*
* If set, this option enables the mail commands in Services. You may choose
* to disable it if you have no Sendmail-compatible mailer installed. Whilst
* this directive (and entire block) is optional, it is required if
* nickserv:registration is set to yes.
*/
usemail = yes
/*
* This is the command-line that will be used to call the mailer to send an
* e-mail. It must be called with all the parameters needed to make it
* scan the mail input to find the mail recipient; consult your mailer
* documentation.
*
* Postfix users must use the compatible sendmail utility provided with
* it. This one usually needs no parameters on the command-line. Most
* sendmail applications (or replacements of it) require the -t option
* to be used.
*/
sendmailpath = "/usr/sbin/sendmail -t"
/*
* This is the e-mail address from which all the e-mails are to be sent from.
* It should really exist.
*/
sendfrom = "services@localhost.net"
/*
* This controls the minimum amount of time a user must wait before sending
* another e-mail after they have sent one. It also controls the minimum time
* a user must wait before they can receive another e-mail.
*
* This feature prevents users from being mail bombed using Services and
* it is highly recommended that it be used.
*
* This directive is optional, but highly recommended.
*/
delay = 5m
/*
* If set, Services will not attempt to put quotes around the TO: fields
* in e-mails.
*
* This directive is optional, and as far as we know, it's only needed
* if you are using ESMTP or QMail to send out e-mails.
*/
#dontquoteaddresses = yes
/*
* The subject and message of emails sent to users when they register accounts.
*/
registration_subject = "Nickname registration for %n"
registration_message = "Hi,
You have requested to register the nickname %n on %N.
Please type \" /msg NickServ CONFIRM %c \" to complete registration.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new password.
*/
reset_subject = "Reset password request for %n"
reset_message = "Hi,
You have requested to have the password for %n reset.
To reset your password, type \" /msg NickServ CONFIRM %n %c \"
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they request a new email address.
*/
emailchange_subject = "Email confirmation"
emailchange_message = "Hi,
You have requested to change your email address to %e.
Please type \" /msg NickServ CONFIRM %c \" to confirm this change.
If you don't know why this mail was sent to you, please ignore it silently.
%N administrators."
/*
* The subject and message of emails sent to users when they receive a new memo.
*/
memo_subject = "New memo"
memo_message = "Hi %n,
You've just received a new memo from %s. This is memo number %d.
Memo text:
%t"
}
/*
* [REQUIRED] Database configuration.
*
* This section is used to configure databases used by Anope.
* You should at least load one database method, otherwise any data you
* have will not be stored!
*/
/*
* [DEPRECATED] db_old
*
* This is the old binary database format from late Anope 1.7.x, Anope 1.8.x, and
* early Anope 1.9.x. This module only loads these databases, and will NOT save them.
* You should only use this to upgrade old databases to a newer database format by loading
* other database modules in addition to this one, which will be used when saving databases.
*/
#module
{
name = "db_old"
/*
* This is the encryption type used by the databases. This must be set correctly or
* your passwords will not work. Valid options are: md5, oldmd5, sha1, and plain.
* You must also be sure to load the correct encryption module below in the Encryption
* Modules section so that your passwords work.
*/
#hash = "md5"
}
/*
* [RECOMMENDED] db_flatfile
*
* This is the default flatfile database format.
*/
module
{
name = "db_flatfile"
/*
* The database name db_flatfile should use
*/
database = "anope.db"
/*
* Sets the number of days backups of databases are kept. If you don't give it,
* or if you set it to 0, Services won't backup the databases.
*
* NOTE: Services must run 24 hours a day for this feature to work.
*
* This directive is optional, but recommended.
*/
keepbackups = 3
/*
* Allows Services to continue file write operations (i.e. database saving)
* even if the original file cannot be backed up. Enabling this option may
* allow Services to continue operation under conditions where it might
* otherwise fail, such as a nearly-full disk.
*
* NOTE: Enabling this option can cause irrecoverable data loss under some
* conditions, so make CERTAIN you know what you're doing when you enable it!
*
* This directive is optional, and you are discouraged against enabling it.
*/
#nobackupokay = yes
/*
* If enabled, services will fork a child process to save databases.
*
* This is only useful with very large databases, with hundreds
* of thousands of objects, that have a noticeable delay from
* writing databases.
*
* If your database is large enough cause a noticeable delay when
* saving you should consider a more powerful alternative such
* as db_sql or db_redis, which incrementally update their
* databases asynchronously in real time.
*/
fork = no
}
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
/*
* db_redis.
*
* This module allows using Redis (http://redis.io) as a database backend.
* This module requires that m_redis is loaded and configured properly.
*
* Redis 2.8 supports keyspace notifications which allows Redis to push notifications
* to Anope about outside modifications to the database. This module supports this and
* will internally reflect any changes made to the database immediately once notified.
* See docs/REDIS for more information regarding this.
*/
#module
{
name = "db_redis"
/*
* Redis database to use. This must be configured with m_redis.
*/
engine = "redis/main"
}
/*
* [RECOMMENDED] Encryption modules.
*
* The encryption modules are used when dealing with passwords. This determines how
* the passwords are stored in the databases, and does not add any security as
* far as transmitting passwords over the network goes.
*
* Without any encryption modules loaded users will not be able to authenticate unless
* there is another module loaded that provides authentication checking, such as
* m_ldap_authentication or m_sql_authentication.
*
* With enc_none, passwords will be stored in plain text, allowing for passwords
* to be recovered later but it isn't secure and therefore is not recommended.
*
* The other encryption modules use one-way encryption, so the passwords can not
* be recovered later if those are used.
*
* The first encryption module loaded is the primary encryption module. All new passwords are
* encrypted by this module. Old passwords stored in another encryption method are
* automatically re-encrypted by the primary encryption module on next identify.
*
* NOTE: enc_old is Anope's previous (broken) MD5 implementation which is present in
* versions prior to Anope 1.7.17. If your databases were made using that module,
* use this and not enc_md5.
*
* NOTE: enc_sha1 relies on how the OS stores 2+ byte data internally, and is
* potentially broken when moving between 2 different OSes, such as moving from
* Linux to Windows. It is recommended that you use enc_sha256 instead if you want
* to use an SHA-based encryption. If you choose to do so, it is also recommended
* that you first try to get everyone's passwords converted to enc_sha256 before
* switching OSes by placing enc_sha256 at the beginning of the list.
*
*/
#module { name = "enc_bcrypt" }
module { name = "enc_sha256" }
#module { name = "enc_md5" }
#module { name = "enc_sha1" }
/*
* When using enc_none, passwords will be stored without encryption. This isn't secure
* therefore it is not recommended.
*/
#module { name = "enc_none" }
/*
* enc_old is Anope's previous (broken) MD5 implementation used from 1.4.x to 1.7.16.
* If your databases were made using that module, load it here to allow conversion to the primary
* encryption method.
*/
#module { name = "enc_old" }
/* Extra (optional) modules. */
include
{
type = "file"
name = "modules.example.conf"
}
/*
* Chanstats module.
* Requires a MySQL Database.
*/
#include
{
type = "file"
name = "chanstats.example.conf"
}
/*
* IRC2SQL Gateway
* This module collects data about users, channels and servers. It doesn't build stats
* itself, however, it gives you the database, it's up to you how you use it.
*
* Requires a MySQL Database and MySQL version 5.5 or higher
*/
#include
{
type = "file"
name = "irc2sql.example.conf"
}
</syntaxhighlight>
</div>
== <div class="moduleheader">Services Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
fae5ffd891d6e266f193bd97463d9e9909c1b8f1
1026
1025
2014-05-31T21:03:18Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for MemoServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the MemoServ client.
* If you change this value, you probably want to change the client directive in the configuration for the memoserv module too.
*/
nick = "MemoServ"
/*
* The username of the MemoServ client.
*/
user = "services"
/*
* The hostname of the MemoServ client.
*/
host = "services.host"
/*
* The realname of the MemoServ client.
*/
gecos = "Memo Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core MemoServ module.
*
* Provides essential functionality for MemoServ.
*/
module
{
name = "memoserv"
/*
* The name of the client that should be MemoServ. Clients are configured
* with the service blocks.
*/
client = "MemoServ"
/*
* The maximum number of memos a user is allowed to keep by default. Normal users may set the
* limit anywhere between 0 and this value. Services Admins can change it to any value or
* disable it.
*
* This directive is optional, but recommended. If not set, the limit is disabled
* by default, and normal users can set any limit they want.
*/
maxmemos = 20
/*
* The delay between consecutive uses of the MemoServ SEND command. This can help prevent spam
* as well as denial-of-service attacks from sending large numbers of memos and filling up disk
* space (and memory). The default 3-second wait means a maximum average of 150 bytes of memo
* per second per user under the current IRC protocol.
*
* This directive is optional, but recommended.
*/
senddelay = 3s
}
/*
* Core MemoServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "MemoServ"; name = "HELP"; command = "generic/help"; }
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight>
</div>
=== OperServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for OperServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the OperServ client.
* If you change this value, you probably want to change the client directive in the configuration for the operserv module too.
*/
nick = "OperServ"
/*
* The username of the OperServ client.
*/
user = "services"
/*
* The hostname of the OperServ client.
*/
host = "services.host"
/*
* The realname of the OperServ client.
*/
gecos = "Operator Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core OperServ module.
*
* Provides essential functionality for OperServ.
*/
module
{
name = "operserv"
/*
* The name of the client that should be OperServ.
*/
client = "OperServ"
/*
* These define the default expiration times for, respectively, AKILLs, CHANKILLs, SNLINEs,
* and SQLINEs.
*/
autokillexpiry = 30d
chankillexpiry = 30d
snlineexpiry = 30d
sqlineexpiry = 30d
/*
* If set, this option will make Services send an AKILL command immediately after it has been
* added with AKILL ADD. This eliminates the need for killing the user after the AKILL has
* been added.
*
* This directive is optional, but recommended.
*/
akillonadd = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SNLINE ADD.
* This eliminates the need for killing the user after the SNLINE has been added.
*
* This directive is optional.
*/
killonsnline = yes
/*
* If set, this option will make Services send an (SVS)KILL command immediately after SQLINE ADD.
* This eliminates the need for killing the user after the SQLINE has been added.
*
* This directive is optional.
*/
killonsqline = yes
/*
* Adds the nickname of the IRC Operator issuing an AKILL to the kill reason.
*
* This directive is optional.
*/
addakiller = yes
/*
* Adds akill IDs to akills. Akill IDs are given to users in their ban reason and can be used to easily view,
* modify, or remove an akill from the ID.
*/
akillids = yes
/*
* If set, only IRC Operators will be permitted to use OperServ, regardless of command access restrictions.
*
* This directive is optional, but recommended.
*/
opersonly = yes
}
/*
* Core OperServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "OperServ"; name = "HELP"; command = "generic/help"; }
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight>
</div>
=== BotServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for BotServ.
*/
/*
* First, create the service. If you do not want to have a 'BotServ', but do want the ability to have
* ChanServ assigned to channels for the use of fantasy commands, you may delete the below 'service' block.
*
* Note that deleting a 'service' block for a pseudoclient that is already online will not remove the
* client, the client becomes no different from a normal service bot, so you will have to use botserv/bot
* to manually delete the client.
*
* You may then waant to map some of the below commands to other services, like placing botserv/bot on
* OperServ so you can delete the below client, and mapping assign and unassign to ChanServ so users are
* able to control whether or not ChanServ is in the channel. You may also want to map botserv/set/nobot
* to OperServ so you can restrict who can assign the other core service clients.
*/
service
{
/*
* The name of the BotServ client.
* If you change this value, you probably want to change the client directive in the configuration for the botserv module too.
*/
nick = "BotServ"
/*
* The username of the BotServ client.
*/
user = "services"
/*
* The hostname of the BotServ client.
*/
host = "services.host"
/*
* The realname of the BotServ client.
*/
gecos = "Bot Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core BotServ module.
*
* Provides essential functionality for BotServ.
*/
module
{
name = "botserv"
/*
* The name of the client that should be BotServ.
*
* This directive is optional.
*/
client = "BotServ"
/*
* The default bot options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - dontkickops: Channel operators will be protected against BotServ kicks
* - dontkickvoices: Voiced users will be protected against BotServ kicks
* - greet: The channel's BotServ bot will greet incoming users that have set a greet
* in their NickServ settings
* - fantasy: Enables the use of BotServ fantasy commands in the channel
*
* This directive is optional, if left blank, there will be no defaults.
*/
defaults = "greet fantasy"
/*
* The minimum number of users there must be in a channel before the bot joins it. The best
* value for this setting is 1 or 2. This can be 0, the service bots will not part unless
* specifically unassigned, and will keep the channel open.
*/
minusers = 1
/*
* The bots are currently not affected by any modes or bans when they try to join a channel.
* But some people may want to make it act like a real bot, that is, for example, remove all
* the bans affecting the bot before joining the channel, remove a ban that affects the bot
* set by a user when it is in the channel, and so on. Since it consumes a bit more CPU
* time, you should not enable this on larger networks.
*
* This directive is optional.
*/
#smartjoin = yes
/*
* Modes to set on service bots when they join channels, comment this out for no modes
*
* This directive is optional.
*/
botmodes = "ao"
/*
* User modes to set on service bots. Read the comment about the service:modes directive
* on why this can be a bad idea to set.
*/
#botumodes = "i"
}
/*
* Core BotServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "BotServ"; name = "HELP"; command = "generic/help"; }
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
/*
* greet
*
* Provides the commands:
* botserv/set/greet - Used for enabling or disabling BotServ's greet messages in a channel.
* nickserv/set/greet, nickserv/saset/greet - Used for changing a users greet message, which is displayed when they enter channels.
*/
module { name = "greet" }
command { service = "BotServ"; name = "SET GREET"; command = "botserv/set/greet"; }
command { service = "NickServ"; name = "SET GREET"; command = "nickserv/set/greet"; }
command { service = "NickServ"; name = "SASET GREET"; command = "nickserv/saset/greet"; permission = "nickserv/saset/greet"; }
/*
* GREET privilege.
*
* Used by 'greet'.
*
* Users with this privilege have their greet shown when they join channels.
*/
privilege
{
name = "GREET"
rank = 40
level = 5
flag = "g"
xop = "AOP"
}
/*
* fantasy
*
* Allows 'fantaisist' commands to be used in channels.
*
* Provides the commands:
* botserv/set/fantasy - Used for enabling or disabling BotServ's fantasist commands.
*/
module
{
name = "fantasy"
/*
* Defines the prefixes for fantasy commands in channels. One of these characters will have to be prepended
* to all fantasy commands. If you choose "!", for example, fantasy commands will be "!kick",
* "!op", etc. This directive is optional, if left out, the default fantasy character is "!".
*/
#fantasycharacter = "!."
}
command { service = "BotServ"; name = "SET FANTASY"; command = "botserv/set/fantasy"; }
/*
* Fantasy commands
*
* Fantasy commands can be executed in channels that have a BotServ bot by prefixing the
* command with one of the fantasy characters configured in botserv's fantasycharacter
* directive.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
fantasy { name = "ACCESS"; command = "chanserv/access"; }
fantasy { name = "AKICK"; command = "chanserv/akick"; }
fantasy { name = "AOP"; command = "chanserv/xop"; }
fantasy { name = "BAN"; command = "chanserv/ban"; }
fantasy { name = "CLONE"; command = "chanserv/clone"; }
fantasy { name = "DEHALFOP"; command = "chanserv/modes"; }
fantasy { name = "DEOP"; command = "chanserv/modes"; }
fantasy { name = "DEOWNER"; command = "chanserv/modes"; }
fantasy { name = "DEPROTECT"; command = "chanserv/modes"; }
fantasy { name = "DEVOICE"; command = "chanserv/modes"; }
fantasy { name = "DOWN"; command = "chanserv/down"; }
fantasy { name = "ENFORCE"; command = "chanserv/enforce"; }
fantasy { name = "ENTRYMSG"; command = "chanserv/entrymsg"; }
fantasy { name = "FLAGS"; command = "chanserv/flags"; }
fantasy { name = "HALFOP"; command = "chanserv/modes"; }
fantasy { name = "HELP"; command = "generic/help"; prepend_channel = false; }
fantasy { name = "HOP"; command = "chanserv/xop"; }
fantasy { name = "INFO"; command = "chanserv/info"; prepend_channel = false; }
fantasy { name = "INVITE"; command = "chanserv/invite"; }
fantasy { name = "K"; command = "chanserv/kick"; }
fantasy { name = "KB"; command = "chanserv/ban"; }
fantasy { name = "KICK"; command = "chanserv/kick"; }
fantasy { name = "LEVELS"; command = "chanserv/levels"; }
fantasy { name = "LIST"; command = "chanserv/list"; prepend_channel = false; }
fantasy { name = "LOG"; command = "chanserv/log"; }
fantasy { name = "MODE"; command = "chanserv/mode"; }
fantasy { name = "MUTE"; command = "chanserv/ban"; kick = no; mode = "QUIET"; }
fantasy { name = "OP"; command = "chanserv/modes"; }
fantasy { name = "OWNER"; command = "chanserv/modes"; }
fantasy { name = "PROTECT"; command = "chanserv/modes"; }
fantasy { name = "QOP"; command = "chanserv/xop"; }
fantasy { name = "SEEN"; command = "chanserv/seen"; prepend_channel = false; }
fantasy { name = "SOP"; command = "chanserv/xop"; }
fantasy { name = "STATUS"; command = "chanserv/status"; }
fantasy { name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; }
fantasy { name = "SYNC"; command = "chanserv/sync"; }
fantasy { name = "TOPIC"; command = "chanserv/topic"; }
fantasy { name = "UNBAN"; command = "chanserv/unban"; }
fantasy { name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; }
fantasy { name = "UP"; command = "chanserv/up"; }
fantasy { name = "VOICE"; command = "chanserv/modes"; }
fantasy { name = "VOP"; command = "chanserv/xop"; }
</syntaxhighlight>
</div>
=== HostServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for HostServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the HostServ client.
* If you change this value, you probably want to change the client directive in the configuration for the hostserv module too.
*/
nick = "HostServ"
/*
* The username of the HostServ client.
*/
user = "services"
/*
* The hostname of the HostServ client.
*/
host = "services.host"
/*
* The realname of the HostServ client.
*/
gecos = "vHost Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core HostServ module.
*
* Provides essential functionality for HostServ.
*/
module
{
name = "hostserv"
/*
* The name of the client that should be HostServ.
*/
client = "HostServ"
/*
* If enabled, vhosts are activated on users immediately when they are set.
*/
activate_on_set = false
}
/*
* Core HostServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Give it a help command. */
command { service = "HostServ"; name = "HELP"; command = "generic/help"; }
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight>
</div>
bacfaf7eec6793a1372c95d8ffeaeae8cedbad83
1025
1024
2014-05-31T20:59:27Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for ChanServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the ChanServ client.
* If you change this value, you probably want to change the client directive in the configuration for the chanserv module too.
*/
nick = "ChanServ"
/*
* The username of the ChanServ client.
*/
user = "services"
/*
* The hostname of the ChanServ client.
*/
host = "services.host"
/*
* The realname of the ChanServ client.
*/
gecos = "Channel Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOVOICE privilege.
*
* Used by the core.
*
* Users with this permission get voice on join.
*/
privilege
{
name = "AUTOVOICE"
rank = 50
level = 3
flag = "V"
xop = "VOP"
}
/*
* BADWORDS privilege.
*
* Used by botserv/badwords.
*
* Users with this permission can modify BotServ's BADWORDS list.
*/
privilege
{
name = "BADWORDS"
rank = 260
level = 10
flag = "K"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = _("Used to manage the list of privileged users")
}
command_group
{
name = "chanserv/status"
description = _("Used to modify the channel status of you or other users")
}
command_group
{
name = "chanserv/management"
description = _("Used to manage channels")
}
command_group
{
name = "chanserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* The configuration option 'kick' may be set in a command block for this command to control
* whether or not users will be kicked from the channel once banned. The default is 'yes'.
*
* The configuration option 'mode' may be set to control which mode is set, such as BAN or QUIET.
* The default is BAN.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
/*
* Settings to show to non-opers in ChanServ's INFO output.
* Comment to completely disable showing any information about
* suspended channels to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
/*
* Extra ChanServ related modules.
*/
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight>
</div>
=== MemoServ ===
=== OperServ ===
=== BotServ ===
=== HostServ ===
825baea460b88fdae6a028064051c47a66024f08
1024
1023
2014-05-31T20:56:08Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
=== ChanServ ===
=== MemoServ ===
=== OperServ ===
=== BotServ ===
=== HostServ ===
400f8c794fe3a28594ed0cd835b2d52fc8b2e6e3
1023
1022
2014-05-31T20:54:48Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Configuration</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
a4fd2f7e9fb180e5ea4f897014ee2b16cc902ed0
1022
1021
2014-05-31T20:54:12Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Configuration}}
== <div class="moduleheader">Configuration Files</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</syntaxhighlight>
</div>
1a945c86ad0fd7e7eeaaba6af1e52ce25428eecb
1021
1020
2014-05-31T20:53:42Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Configuration}}
== <div class="moduleheader">Configuration Files</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</div>
</syntaxhighlight>
d8512800ae14ecf05e3894efcbc3e2a37d62e0c6
1020
2014-05-31T20:53:29Z
Yoerger
7
Created page with "{{Language|2.0/Configuration}} == <div class="moduleheader">Configuration Files</div> == === NickServ === <div class="code"> <syntaxhighlight lang="cpp"> /* * Example configu..."
wikitext
text/x-wiki
{{Language|2.0/Configuration}}
== <div class="moduleheader">Configuration Files</div> ==
=== NickServ ===
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for NickServ.
*/
/*
* First, create the service.
*/
service
{
/*
* The name of the NickServ client.
* If you change this value, you probably want to change the client directive in the configuration for the nickserv module too.
*/
nick = "NickServ"
/*
* The username of the NickServ client.
*/
user = "services"
/*
* The hostname of the NickServ client.
*/
host = "services.host"
/*
* The realname of the NickServ client.
*/
gecos = "Nickname Registration Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
/*
* Core NickServ module.
*
* Provides essential functionality for NickServ.
*/
module
{
name = "nickserv"
/*
* The name of the client that should be NickServ.
*/
client = "NickServ"
/*
* Force users to give an e-mail address when they register a nick.
*
* This directive defaults to "yes" and is recommended to be enabled. This is required if e-mail registration is enabled.
*/
forceemail = yes
/*
* Require users who change their email address to confirm they
* own their new email.
*/
confirmemailchanges = no
/*
* A message sent to users on connect if they use an unregistered nick.
*
* This directive is optional.
*/
#unregistered_notice = "Your nickname is not registered. To register it, use: /msg NickServ REGISTER password email"
/*
* The default options for newly registered nicks. Note that changing these options
* will have no effect on nicks which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - killprotect: Kill nick if not identified within 60 seconds
* - kill_quick: Kill nick if not identified within 20 seconds, this one overrides the above
* option and the above must be specified with this one
* - ns_secure: Enable nickname security, requiring the nick's password before any operations
* can be done on it
* - ns_private: Hide the nick from NickServ's LIST command
* - hide_email: Hide's the nick's e-mail address from NickServ's INFO command
* - hide_mask: Hide's the nick's last or current user@host from NickServ's INFO command
* - hide_quit: Hide's the nick's last quit message
* - memo_signon: Notify user if they have a new memo when they sign into the nick
* - memo_receive: Notify user if they have a new memo as soon as it's received
* - memo_mail: Notify user if they have a new memo by mail
* - autoop: User will be automatically opped in channels they enter and have access to
* - msg: Services messages will be sent as PRIVMSGs instead of NOTICEs, requires
* options:useprivmsg to be enabled as well
* - ns_keepmodes: Enables keepmodes, which retains user modes across sessions
*
* This directive is optional, if left blank, the options will default to ns_secure, memo_signon, and
* memo_receive. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "ns_secure ns_private hide_email hide_mask memo_signon memo_receive autoop"
/*
* The minimum length of time between consecutive uses of NickServ's REGISTER command. This
* directive is optional, but recommended. If not set, this restriction will be disabled.
*/
regdelay = 30s
/*
* The length of time before a nick's registration expires.
*
* This directive is optional, but recommended. If not set, the default is 21 days.
*/
expire = 21d
/*
* Prevents the use of the ACCESS and CERT (excluding their LIST subcommand), DROP, FORBID, SUSPEND,
* GETPASS and SET PASSWORD commands by services operators on other services operators.
*
* This directive is optional, but recommended.
*/
secureadmins = yes
/*
* If set, Services will set the channel modes a user has access to upon identifying, assuming
* they are not already set.
*
* This directive is optional.
*/
modeonid = yes
/*
* If set, Services will set these user modes on any user who identifies.
*
* This directive is optional.
*/
#modesonid = "+R"
/*
* If set, Services will not show netsplits in the last quit message field
* of NickServ's INFO command.
*/
hidenetsplitquit = no
/*
* If set, is the length of time NickServ's killquick and kill options wait before
* forcing users off of protected nicknames.
*/
killquick = 20s
kill = 60s
/*
* If set, forbids the registration of nicks that contain an existing
* nick with Services access. For example, if Tester is a Services Oper,
* you can't register NewTester or Tester123 unless you are an IRC
* Operator.
*
* NOTE: If you enable this, you will have to be logged in as an IRC
* operator in order to register a Services Root nick when setting up
* Anope for the first time.
*
* This directive is optional.
*/
#restrictopernicks = yes
/*
* The username, and possibly hostname, used for fake users created when Services needs to
* hold a nickname.
*/
enforceruser = "enforcer"
enforcerhost = "services.host"
/*
* The length of time Services hold nicknames.
*
* This directive is optional, but recommended. If not set it defaults to 1 minute.
*/
releasetimeout = 1m
/*
* When a user's nick is forcibly changed to enforce a "nick kill", their new nick will start
* with this value. The rest will be made up of 6 or 7 digits.
* Make sure this is a valid nick and Nicklen+7 is not longer than the allowed Nicklen on your ircd.
*
* This directive is optional. If not set it defaults to "Guest"
*/
guestnickprefix = "Guest"
/*
* If set, Services do not allow ownership of nick names, only ownership of accounts.
*/
nonicknameownership = no
/*
* The maximum length of passwords
*
* This directive is optional. If not set it defaults to 32.
*/
passlen = 32
}
/*
* Core NickServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for NickServ.
*
* Commands may optionally be placed into groups to make NickServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all NickServ commands from HELP.
*/
command_group
{
name = "nickserv/admin"
description = _("Services Operator commands")
}
/* Give it a help command. */
command { service = "NickServ"; name = "HELP"; command = "generic/help"; }
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickserv/admin"; }
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
/*
* ns_identify
*
* Provides the command nickserv/identify.
*
* Used for identifying to accounts.
*/
module { name = "ns_identify" }
command { service = "NickServ"; name = "ID"; command = "nickserv/identify"; hide = true; }
command { service = "NickServ"; name = "IDENTIFY"; command = "nickserv/identify"; }
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
/*
* ns_list
*
* Provides the commands:
* nickserv/list - Used for retrieving and searching the registered account list.
* nickserv/set/private, nickserv/saset/private - Used for configuring whether or a users account shows up in nickserv/list.
*
*/
module
{
name = "ns_list"
/*
* The maximum number of nicks to be returned for a NickServ LIST command.
*/
listmax = 50
}
command { service = "NickServ"; name = "LIST"; command = "nickserv/list"; }
command { service = "NickServ"; name = "SET PRIVATE"; command = "nickserv/set/private"; }
command { service = "NickServ"; name = "SASET PRIVATE"; command = "nickserv/saset/private"; permission = "nickserv/saset/private"; }
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessions.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nickserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmodes"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"; }
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitter account with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
/*
* Settings to show to non-opers in NickServ's INFO output.
* Comment to completely disable showing any information about
* suspended nicknames to non-opers.
*/
show = "suspended, by, reason, on, expires"
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
/*
* Extra NickServ related modules.
*/
/*
* ns_maxemail
*
* Limits how many times the same email address may be used in Anope
* to register accounts.
*/
#module
{
name = "ns_maxemail"
/*
* The limit to how many registered nicks can use the same e-mail address. If set to 0 or left
* commented, there will be no limit enforced when registering new accounts or using
* /msg NickServ SET EMAIL.
*/
maxemails = 1
}
</div>
/<syntaxhighlight>
a7a62da5f419f399f1834b5c11112c3e0740201e
2.0/FAQ
0
127
1156
1142
2023-07-09T18:54:20Z
Sadie
38
wikitext
text/x-wiki
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [https://github.com/anope/anope/issues the Bug Tracker].
:Be sure you include as much information about replicating the issue as you can. Debug logs are the most helpful.
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> LOCK {SET|ADD} <u>modes</u>
:See /msg ChanServ HELP MODE for more details.
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
;Where is the selection for <my language>? :This is done via nickserv. If nickserv's '''help set language''' does not list your language then you need to make sure '''locale''' is properly installed on your system. For *nix this is usually done during installation, and can be added via your system's package manager. Each system's method is different, but Debian based distributions will usually use '''apt-get install locale''', while Opensuse will use '''zypper install locale''', other flavors of linux and unix may use similar commands.
;Where did the NICKSERV GHOST and RELEASE commands go? :Both commands were replaced by the RECOVER command. You still can activate this command by editing your nickserv.conf. (search for "ghost" to find the right place)
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :For Debian and Ubuntu based, or derived OSs type: apt-get install build-essential - Then try again. For other OSs you need to make sure the correct packages are installed.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services/bin
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config -quick''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
0089c507ea213e375edabe8c26e09b74eeb19503
1142
1141
2017-04-08T13:50:38Z
Adam
27
wikitext
text/x-wiki
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [http://bugs.anope.org/ Mantis Bug Tracker].
:Be sure you include as much information about replicating the issue as you can. Debug logs are the most helpful.
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> LOCK {SET|ADD} <u>modes</u>
:See /msg ChanServ HELP MODE for more details.
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
;Where is the selection for <my language>? :This is done via nickserv. If nickserv's '''help set language''' does not list your language then you need to make sure '''locale''' is properly installed on your system. For *nix this is usually done during installation, and can be added via your system's package manager. Each system's method is different, but Debian based distributions will usually use '''apt-get install locale''', while Opensuse will use '''zypper install locale''', other flavors of linux and unix may use similar commands.
;Where did the NICKSERV GHOST and RELEASE commands go? :Both commands were replaced by the RECOVER command. You still can activate this command by editing your nickserv.conf. (search for "ghost" to find the right place)
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :For Debian and Ubuntu based, or derived OSs type: apt-get install build-essential - Then try again. For other OSs you need to make sure the correct packages are installed.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services/bin
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config -quick''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
819e7c41e87cec0e36fb666fb57af8deb226d9dd
1141
1076
2017-04-08T13:48:15Z
Adam
27
wikitext
text/x-wiki
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support, *FOR ANOPE ONLY* (This does not include modules), on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [http://bugs.anope.org/ Mantis Bug Tracker].
:Be sure you include as much information about replicating the issue as you can. Debug logs are the most helpful.
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> LOCK {SET|ADD} <u>modes</u>
:See /msg ChanServ HELP MODE for more details.
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
;Where is the selection for <my language>? :This is done via nickserv. If nickserv's '''help set language''' does not list your language then you need to make sure '''locale''' is properly installed on your system. For *nix this is usually done during installation, and can be added via your system's package manager. Each system's method is different, but Debian based distributions will usually use '''apt-get install locale''', while Opensuse will use '''zypper install locale''', other flavors of linux and unix may use similar commands.
;Where did the NICKSERV GHOST and RELEASE commands go? :Both commands were replaced by the RECOVER command. You still can activate this command by editing your nickserv.conf. (search for "ghost" to find the right place)
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :For Debian and Ubuntu based, or derived OSs type: apt-get install build-essential - Then try again. For other OSs you need to make sure the correct packages are installed.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
4323ad3d09f774a5da2961426af7744f9d8ae23f
1076
1071
2014-07-29T16:52:02Z
Dukepyrolator
4
/* Anope IRC Services - Changes with 2.0 Frequently Asked Questions */
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
<div class="notice" align="center"><strong>NOTICE: This page is still being updated. Some information may not be accurate, and not all information intended for this page is currently on this page.</strong></div>
<noinclude>[[Category:Incomplete]]</noinclude>
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support, *FOR ANOPE ONLY* (This does not include modules), on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [http://bugs.anope.org/ Mantis Bug Tracker].
:Be sure you include as much information about replicating the issue as you can. Debug logs are the most helpful.
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> LOCK {SET|ADD} <u>modes</u>
:See /msg ChanServ HELP MODE for more details.
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
;Where is the selection for <my language>? :This is done via nickserv. If nickserv's '''help set language''' does not list your language then you need to make sure '''locale''' is properly installed on your system. For *nix this is usually done during installation, and can be added via your system's package manager. Each system's method is different, but Debian based distributions will usually use '''apt-get install locale''', while Opensuse will use '''zypper install locale''', other flavors of linux and unix may use similar commands.
;Where did the NICKSERV GHOST and RELEASE commands go? :Both commands were replaced by the RECOVER command. You still can activate this command by editing your nickserv.conf. (search for "ghost" to find the right place)
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :For Debian and Ubuntu based, or derived OSs type: apt-get install build-essential - Then try again. For other OSs you need to make sure the correct packages are installed.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
c183fc584d997e00ab76efe99dde422b085a9c43
1071
1069
2014-06-18T19:19:00Z
Azander
9
/* Anope IRC Services - Changes with 2.0 Frequently Asked Questions */
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
<div class="notice" align="center"><strong>NOTICE: This page is still being updated. Some information may not be accurate, and not all information intended for this page is currently on this page.</strong></div>
<noinclude>[[Category:Incomplete]]</noinclude>
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support, *FOR ANOPE ONLY* (This does not include modules), on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [http://bugs.anope.org/ Mantis Bug Tracker].
:Be sure you include as much information about replicating the issue as you can. Debug logs are the most helpful.
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> LOCK {SET|ADD} <u>modes</u>
:See /msg ChanServ HELP MODE for more details.
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
;Where is the selection for <my language>? :This is done via nickserv. If nickserv's '''help set language''' does not list your language then you need to make sure '''locale''' is properly installed on your system. For *nix this is usually done during installation, and can be added via your system's package manager. Each system's method is different, but Debian based distributions will usually use '''apt-get install locale''', while Opensuse will use '''zypper install locale''', other flavors of linux and unix may use similar commands.
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :For Debian and Ubuntu based, or derived OSs type: apt-get install build-essential - Then try again. For other OSs you need to make sure the correct packages are installed.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
7e4c446394675bb43b848c401a79051f7898eeff
1069
1035
2014-06-04T15:31:45Z
Azander
9
/* Anope IRC Services - Changes with 2.0 Frequently Asked Questions - Added additional explanation to MLOCK question*/
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
<div class="notice" align="center"><strong>NOTICE: This page is still being updated. Some information may not be accurate, and not all information intended for this page is currently on this page.</strong></div>
<noinclude>[[Category:Incomplete]]</noinclude>
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support, *FOR ANOPE ONLY* (This does not include modules), on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [http://bugs.anope.org/ Mantis Bug Tracker].
:Be sure you include as much information about replicating the issue as you can. Debug logs are the most helpful.
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> LOCK {SET|ADD} <u>modes</u>
:See /msg ChanServ HELP MODE for more details.
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :For Debian and Ubuntu based, or derived OSs type: apt-get install build-essential - Then try again. For other OSs you need to make sure the correct packages are installed.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
cea95f60973c498318c6bcac8155fe35e7566286
1035
1034
2014-06-01T01:17:05Z
Azander
9
/* Anope IRC Services - 2.0 Installation Frequently Asked Questions */
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
<div class="notice" align="center"><strong>NOTICE: This page is still being updated. Some information may not be accurate, and not all information intended for this page is currently on this page.</strong></div>
<noinclude>[[Category:Incomplete]]</noinclude>
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support, *FOR ANOPE ONLY* (This does not include modules), on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [http://bugs.anope.org/ Mantis Bug Tracker].
:Be sure you include as much information about replicating the issue as you can. Debug logs are the most helpful.
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> SET <u>modes</u>
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :For Debian and Ubuntu based, or derived OSs type: apt-get install build-essential - Then try again. For other OSs you need to make sure the correct packages are installed.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
e1beafce7054aa905c4f8d306e23f2740c8778fc
1034
980
2014-06-01T01:11:51Z
Azander
9
/* Anope IRC Services - 2.0 General Frequently Asked Questions */
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
<div class="notice" align="center"><strong>NOTICE: This page is still being updated. Some information may not be accurate, and not all information intended for this page is currently on this page.</strong></div>
<noinclude>[[Category:Incomplete]]</noinclude>
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support, *FOR ANOPE ONLY* (This does not include modules), on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [http://bugs.anope.org/ Mantis Bug Tracker].
:Be sure you include as much information about replicating the issue as you can. Debug logs are the most helpful.
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> SET <u>modes</u>
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :Type: apt-get install build-essential - Then try again.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
a35b59005d890e7b050322f99804d47b9e537ac5
980
979
2014-05-27T12:49:34Z
Yoerger
7
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
<div class="notice" align="center"><strong>NOTICE: This page is still being updated. Some information may not be accurate, and not all information intended for this page is currently on this page.</strong></div>
<noinclude>[[Category:Incomplete]]</noinclude>
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support, *FOR ANOPE ONLY* (This does not include modules), on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [http://bugs.anope.org/ Mantis Bug Tracker].
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> SET <u>modes</u>
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :Type: apt-get install build-essential - Then try again.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
a0ef8065c729c694c068a90ec2fb63407a2b8269
979
969
2014-05-27T12:49:15Z
Yoerger
7
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
<div class="notice" align="center"><strong>NOTICE: This page is still being updated. Some information may not be accurate, and not all information intended for this page is currently on this page.</div>
<noinclude>[[Category:Incomplete]]</noinclude>
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support, *FOR ANOPE ONLY* (This does not include modules), on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [http://bugs.anope.org/ Mantis Bug Tracker].
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> SET <u>modes</u>
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :Type: apt-get install build-essential - Then try again.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
8860333b47a2c167d17f2ad0c7750b2726a57fdd
969
953
2014-05-27T12:34:18Z
Yoerger
7
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
== <div class="moduleheader">Anope IRC Services - 2.0 General Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;When will Anope stop supporting 1.8/1.9? :Because Anope 2.0 is considered the latest "stable" version, we strongly recommend upgrading as soon as possible. However, we will continue to provide 1.8/1.9 support until 1 year past the release date of Anope 2.0 (March 23rd, 2015 is when support stops.)
;Why should I update to 2.0? :Why not? Anope 2.0 is the lastest version. Just like when you update the anti-virus software on your computer, it's important to keep Anope updated. Anope 2.0 includes the implementation of many old modules of 1.8 and 1.9, (meaning they are now included with a basic installation.) Anope 2.0 also includes security fixes, and many new and improved features.
;Where can I get support for Anope? :We offer "live" support, *FOR ANOPE ONLY* (This does not include modules), on irc.anope.org in #anope. There, our contributors and team members can assist you with any problems.
;Does Anope offer Development Support? :On our IRC Network, you can join #anope-devel to discuss Anope Development.
;Is there Anope Support in other languages? :Anope's wiki translates into multiple languages for the ease of our users. You can also join #anope.fr #anope.es or #anope.de for language support on our IRC Network.
;Are there any other places I can get Anope Support?:Although it is the preferred method, If you are not available to use the IRC Network for support, you can post for support on our [http://forum.anope.org Forums].
;I think I found a bug in Anope! What do I do? :Please report all bugs on [http://bugs.anope.org/ Mantis Bug Tracker].
== <div class="moduleheader">Anope IRC Services - Changes with 2.0 Frequently Asked Questions</div> ==
;Where did MLOCK Go? :Use /msg ChanServ MODE <u>Channel</u> SET <u>modes</u>
;Why does my chanserv password show up in the channel description? / Where is my ChanServ Password :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>. If you registered your channel, and your password is in your description, you should /msg ChanServ DROP #channel, then re-register. This change also includes the removal of Chanserv IDENTIFY, and ChanServ LOGOUT.
;Where did defcon go? :Defcon is now disabled by default. You simply need to enable it in operserv.conf
== <div class="moduleheader">Anope IRC Services - 2.0 Installation Frequently Asked Questions</div> ==
;I'm getting this error while installing CMAKE_CXX_COMPILER ? :Type: apt-get install build-essential - Then try again.
;When I type ./services, it says it cannot find the file. :You need to cd to the directory you installed services to. Try: ~/services
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
ba9f31ae45f8d35abb0a4d6a95d7e8f20fb34c04
953
952
2014-05-14T15:56:41Z
Azander
9
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
== <div class="moduleheader">Anope 2.0 IRC Services Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;How to I set mlock on a channel? :Use /msg ChanServ MODE <u>Channel</u> SET <u>modes</u>
;Why does my chanserv password show up in the channel description? :ChanServ no longer requires passwords when registering channels. It is linked to your NickServ account instead. They new syntax is /msg ChanServ REGISTER <u>channel</u> <u>description</u>
;Where did defcon go? :In the operserv configuration you need to enable it. It is disabled by default.
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
590f77d4f83d876e777105dcdfbf97f70ca69c4e
952
885
2014-05-14T15:53:05Z
Azander
9
/* Anope 2.0 IRC Services Frequently Asked Questions */
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
== <div class="moduleheader">Anope 2.0 IRC Services Frequently Asked Questions</div> ==
;When was Anope 2.0 Released? :Anope 2.0 was released stable: March 23rd, 2014.
;How long was Anope 2.0 In Development? :Anope 2.0 Development lasted for about 5 years before stable was released.
;How to I set mlock on a channel? :Use /msg ChanServ MODE <u>Channel</u> SET <u>modes</u>
;Where did defcon go? :In the operserv configuration you need to enable it. It is disabled by default.
;How do I install a module? :
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
7ad00dde5c14210bc5b470bc401e60bdf78e9208
885
859
2014-05-12T22:04:39Z
Azander
9
/* Anope 2.0 IRC Services Frequently Asked Questions */
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
== <div class="moduleheader">Anope 2.0 IRC Services Frequently Asked Questions</div> ==
'''When was Anope 2.0 Released?'''
Anope 2.0 was released stable: March 23rd, 2014.
'''How long was Anope 2.0 In Development?'''
Anope 2.0 Development lasted for about 5 years before stable was released.
'''Where did defcon go?'''
In the operserv configuration you need to enable it. It is disabled by default.
'''How do I install a module?'''
# Download your module into <anope_source>/modules/third/
# Type: '''./Config''' to generate the correct makefiles.
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a '''/msg operserv restart''', or use '''/operserv modload <module_name>''' to load the new module.
bb0af522c7d964f38c3b4614caccb876fdfe7417
859
839
2014-05-09T20:12:56Z
Azander
9
/* Anope 2.0 IRC Services Frequently Asked Questions */
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
== <div class="moduleheader">Anope 2.0 IRC Services Frequently Asked Questions</div> ==
'''When was Anope 2.0 Released?'''
Anope 2.0 was released stable: March 23rd, 2014.
'''How long was Anope 2.0 In Development?'''
Anope 2.0 Development lasted for about 5 years before stable was released.
'''Where did defcon go?'''
In the operserv configuration you need to enable it. It is disabled by default.
ff43e935d3da408ca8420bdf3ec09ca5066a2ab2
839
675
2014-05-09T15:33:43Z
Azander
9
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
== Anope 2.0 IRC Services Frequently Asked Questions ==
'''When was Anope 2.0 Released?'''
Anope 2.0 was released stable: March 23rd, 2014.
'''How long was Anope 2.0 In Development?'''
Anope 2.0 Development lasted for about 5 years before stable was released.
'''Where did defcon go?'''
In the operserv configuration you need to enable it. It is disabled by default.
d6e1ba96a3afd527a90f030be2fce6ef655094da
675
674
2014-05-07T12:04:58Z
Yoerger
7
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
== Anope 2.0 IRC Services Frequently Asked Questions ==
'''When was Anope 2.0 Released?'''
Anope 2.0 was released stable: March 23rd, 2014.
'''How long was Anope 2.0 In Development?'''
Anope 2.0 Development lasted for about 5 years before stable was released.
40eea2b8068917f7844e22ca1c4415d06b8e8ed0
674
673
2014-05-07T12:04:52Z
Yoerger
7
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
== Anope 2.0 IRC Services Frequently Asked Questions ==
'''When was Anope 2.0 Released?'''
Anope 2.0 was released stable: March 23rd, 2014.
'''How long was Anope 2.0 In Development?'''
Anope 2.0 Development lasted for about 5 years before stable was released.
a23a972225317fc779cca9ac09e955b0ae4fa7b4
673
672
2014-05-07T12:03:15Z
Yoerger
7
Added Preface about FaQ Type.
wikitext
text/x-wiki
Please note, the following Freqently Asked Questions are related directly to Anope 2.0, not Anope IRC Services in General. For General FaQ, please click [http://anope.org/faq.php here].
== Anope 2.0 IRC Services Frequently Asked Questions ==
b309d2e054efc7f00b028582ab91a5efe0e42690
672
671
2014-05-07T09:34:38Z
Yoerger
7
Protected "[[2.0/FAQ]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
== Anope 2.0 IRC Services - Frequently Asked Questions ==
db3c5be2303dd85f254d81e53e985990ffb79748
671
2014-05-07T09:34:30Z
Yoerger
7
Created page with " == Anope 2.0 IRC Services - Frequently Asked Questions =="
wikitext
text/x-wiki
== Anope 2.0 IRC Services - Frequently Asked Questions ==
db3c5be2303dd85f254d81e53e985990ffb79748
2.0/Installation
0
58
1018
858
2014-05-31T20:42:44Z
Yoerger
7
Protected "[[2.0/Installation]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Language|2.0/Installation}}
== <div class="moduleheader">Installing Anope</div> ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== <div class="moduleheader">Upgrading Anope</div> ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== <div class="moduleheader">Setting up the IRCd</div> ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== <div class="moduleheader">Starting Anope</div> ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== <div class="moduleheader">Setting up a crontab</div> ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
da48cf90f1ad3465c99d105dc8ed7e66e877af99
858
857
2014-05-09T20:11:16Z
Azander
9
/* Setting up a crontab */
wikitext
text/x-wiki
{{Language|2.0/Installation}}
== <div class="moduleheader">Installing Anope</div> ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== <div class="moduleheader">Upgrading Anope</div> ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== <div class="moduleheader">Setting up the IRCd</div> ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== <div class="moduleheader">Starting Anope</div> ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== <div class="moduleheader">Setting up a crontab</div> ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
da48cf90f1ad3465c99d105dc8ed7e66e877af99
857
856
2014-05-09T20:11:01Z
Azander
9
/* Starting Anope */
wikitext
text/x-wiki
{{Language|2.0/Installation}}
== <div class="moduleheader">Installing Anope</div> ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== <div class="moduleheader">Upgrading Anope</div> ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== <div class="moduleheader">Setting up the IRCd</div> ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== <div class="moduleheader">Starting Anope</div> ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
4d1e9f0bf855cdf30ab1014b4628373568c0344c
856
855
2014-05-09T20:10:45Z
Azander
9
/* Setting up the IRCd */
wikitext
text/x-wiki
{{Language|2.0/Installation}}
== <div class="moduleheader">Installing Anope</div> ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== <div class="moduleheader">Upgrading Anope</div> ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== <div class="moduleheader">Setting up the IRCd</div> ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== Starting Anope ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
8f6ade5623fa4b2fd7d7588ec0e4b4a0daa2e6f2
855
854
2014-05-09T20:10:28Z
Azander
9
/* Upgrading Anope */
wikitext
text/x-wiki
{{Language|2.0/Installation}}
== <div class="moduleheader">Installing Anope</div> ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== <div class="moduleheader">Upgrading Anope</div> ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== Setting up the IRCd ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== Starting Anope ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
c2b5fcd8511329422d0a91473cf69f15797756c8
854
531
2014-05-09T20:10:11Z
Azander
9
/* Installing Anope */
wikitext
text/x-wiki
{{Language|2.0/Installation}}
== <div class="moduleheader">Installing Anope</div> ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== Upgrading Anope ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== Setting up the IRCd ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== Starting Anope ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
220804a68b6b02d5f44c8aafb55a570522eca622
531
525
2013-12-15T06:22:13Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Language|2.0/Installation}}
== Installing Anope ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== Upgrading Anope ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== Setting up the IRCd ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== Starting Anope ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
7206b51e6fe19a977cc684c30f3fd30ef15f43cc
525
475
2013-12-14T13:59:39Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Language|2.0/Installation}}
{{Infobox
|DeveloperTranslation = Developer
|OSTranslation = Operating System
|LanguagesTranslation = Languages
|DifficultyTranslation = Difficulty
|TimeTranslation = Required Time
|Header = Installation
|Developer = Anope Team
|Description = Describes how to install Anope.
|OS = All *nix
|Languages = Multilangual
|Difficulty = Easy
|Time = 10-15 minutes
}}
== Installing Anope ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== Upgrading Anope ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== Setting up the IRCd ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== Starting Anope ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
6e570d204e2bee96c40949b27405530a151bfba8
475
398
2013-11-25T12:48:51Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Language}}
{{Infobox
|DeveloperTranslation = Developer
|OSTranslation = Operating System
|LanguagesTranslation = Languages
|DifficultyTranslation = Difficulty
|TimeTranslation = Required Time
|Header = Installation
|Developer = Anope Team
|Description = Describes how to install Anope.
|OS = All *nix
|Languages = Multilangual
|Difficulty = Easy
|Time = 10-15 minutes
}}
== Installing Anope ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== Upgrading Anope ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== Setting up the IRCd ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== Starting Anope ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
c075e8ceb500b3fc6fb3421945b34f0d63a33d7b
398
294
2013-11-18T17:36:29Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Infobox
|DeveloperTranslation = Developer
|OSTranslation = Operating System
|LanguagesTranslation = Languages
|DifficultyTranslation = Difficulty
|TimeTranslation = Required Time
|Header = Installation
|Developer = Anope Team
|Description = Describes how to install Anope.
|OS = All *nix
|Languages = Multilangual
|Difficulty = Easy
|Time = 10-15 minutes
}}
== Installing Anope ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== Upgrading Anope ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== Setting up the IRCd ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== Starting Anope ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
fb1d084f20bb03e39ef7aab1f29f43ad389d1837
294
289
2013-11-18T11:04:08Z
Mietzie
5
wikitext
text/x-wiki
== Installing Anope ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== Upgrading Anope ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== Setting up the IRCd ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== Starting Anope ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
bedba5c23fb6bfe0c229f83d5379055765ee0dee
2.0/Installation/de
0
63
526
400
2013-12-14T14:00:26Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Language|2.0/Installation}}
== Installing Anope - GERMAN TEST ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== Upgrading Anope ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== Setting up the IRCd ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== Starting Anope ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
a04cf09d388dc49f5c21ef4e0952def1519059fc
400
2013-11-18T17:59:09Z
Dukepyrolator
4
Created page with "{{Infobox |DeveloperTranslation = Developer |OSTranslation = Operating System |LanguagesTranslation = Languages |DifficultyTranslation = Difficulty |TimeTranslation = Required..."
wikitext
text/x-wiki
{{Infobox
|DeveloperTranslation = Developer
|OSTranslation = Operating System
|LanguagesTranslation = Languages
|DifficultyTranslation = Difficulty
|TimeTranslation = Required Time
|Header = Installation
|Developer = Anope Team
|Description = Describes how to install Anope.
|OS = All *nix
|Languages = Multilangual
|Difficulty = Easy
|Time = 10-15 minutes
}}
== Installing Anope - GERMAN TEST ==
IMPORTANT NOTE: it is not recommended to use (and therefore install)
Anope as root. Use an unprivileged user instead -- the
one you're using for the ircd or a dedicated one will
be good enough.
The very first thing you need to do is to get the Anope package (if not
already done). You can find it at http://www.anope.org/
Anope can be built one of two ways. The recommended way is to use CMake.
You can check if CMake is already installed on your system using the
command: cmake --version
If it's installed, you will get a line that says something similar to
"cmake version 2.6-patch 1". If the version is less than 2.4 or you get
an error saying the command was not found, you will not be able to use
CMake unless you install it yourself into your home directory. CMake
can be downloaded from http://www.cmake.org/cmake/resources/software.html
If you are unable to install CMake yourself (either due to lack of space
or restrictions by your hosting provider), you still have the alternative
to use the provided configure script. This option is not recommended and
will eventually be phased out, but is provided for compatibility for those
lacking CMake.
Next, unpack the package in your home directory, and go into the created
directory.
Now type ./Config to start the configuration script. It will ask you a
few questions, and figure out how to compile Anope on your system. If
you are unsure about the answer to a question, use the default value.
The question to using configure or cmake depends on your decision from
above. If you have CMake and wish to use it, answer with cmake, otherwise
answer with configure.
You can now type make to compile Anope. If there are errors in the
Makefile, *try to use gmake* instead. If it still doesn't work, you (or
your system administrator if it's a shell) must install GNU make. You may
find it at ftp://prep.ai.mit.edu/pub/gnu/.
Now type make install (or gmake install; see above). This will install
all the needed files in the paths you specified with the configure
script, and setup file permissions. You should ensure that the data
directory is not accessible by other users, as malicious users may
cause trouble on your network if passwords are not encrypted, or read
the memos of any user.
If you see errors during this process, please mail us with the *complete*
error output, and don't forget to mention your OS, compiler and C++ library
versions.
Now go into the data directory (by default, ~/services/data). Copy the example
configuration file (example.conf) to services.conf, and open the latter
with your favorite text editor. It contains all the configuration
directives Anope will use at startup. Read the instructions contained in
the file carefully. Using the default values is NOT a good idea, and will
most likely not work!
If you need help, you should subscribe to the Anope mailing list and mail
there to get help from other users. See the README file for more
information.
== Upgrading Anope ==
To upgrade Anope, just follow the installation instructions described in
section 1. There are however a few specific guidelines:
IMPORTANT: Back up your old databases!
If you are upgrading to a new major release, ALWAYS restart a fresh configuration
file from example.conf.
== Setting up the IRCd ==
Services acts as an IRC server with pseudo-clients on it. To link them to
your network, you'll need to configure your IRCd to allow services to link.
The configuration varies depending on the IRCd, but you will probably need
a link block (also called connect block, or C line), a U line (also called
a shared block), and be sure that the IRCd is listening on the given port
in the link block.
Example link configurations can be found in example.conf for some of the
popular IRCds.
Don't forget to /rehash your IRCd to apply changes.
You may also try our interactive link maker, which is located at http://anope.org/ilm.php
== Starting Anope ==
Go into the directory where binaries were installed (by default, this is
~/services/bin). Type ./services to launch Anope.
If there are syntax errors in the configuration file they will be
displayed on the screen. Correct them until there are no errors anymore.
A successful startup won't generate any message.
Give Services at least one minute to link to your network, as certain
IRCds on some OSes may be really slow for the link process. If nothing
happens after about a minute, it is probably a configuration problem. Try
to launch Anope with ./services -debug -nofork to see any errors that it
encounters, and try to correct them.
If you need help to solve errors, feel free to subscribe to the Anope
mailing list and ask there. See the README file for details.
== Setting up a crontab ==
A crontab entry will allow you to check periodically whether Anope is
still running, and restart it if not.
First rename the example.chk script that is in Anope path (by default,
this is ~/services/data) to services.chk and edit it. You'll need to.
modify the CONFIGURATION part of the file. Then ensure that the file is.
marked as executable by typing chmod +x services.chk, and try to launch the
script to see if it works (Anope must not be running when you do this ;))
When this is done, you'll have to add the crontab entry. Type crontab -e.
This will open the default text editor with the crontab file. Enter the
following (with correct path):
*/5 * * * * /home/ircd/services/data/services.chk >/dev/null 2>&1
The */5 at the beginning means "check every 5 minutes". You may replace
the 5 with other another number if you want (but less than 60). Consult
your system's manual pages for more details on the syntax of the crontab
file. Interesting manpages are crontab(5), crontab(1) and cron(8).
Save and exit, and it's installed.
7e36d2ec5173fb134499ad9bcd99d1cf0454e5d8
2.0/Module/irc2sql
0
216
1074
958
2014-07-06T02:01:31Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Language|2.0/Module/irc2sql}}
{{Header|irc2sql|Database|Anope}}
== <div class="moduleheader">Description</div> ==
Stores channel and user statistics in a MySQL database. It creates a new pseudo-client called StatServ.
*<span style="color: red;">Enabled/Disabled using the '''./extras''' command line configuration tool, as 'stats'.</span>
;service {...} :
:;nick= :Name of the new service
:;user= :User (ident) for the new service user
:;host= :Hostname for the new service user
:;gecis= :Realname for the new service user
:;mode= :default modes for this new service user
:;channels= :Channels that the new service user joins automatically
;module {...} :
:;name= :module name
:;client= :Service to connect with
:;engine= :the SQL backend engine, currently requires MySQL v 5.5 via the m_mysql module.
:;prefix= :Table prefix for the data storage tables.
:;geoip_database= :"Country" or "City" are the only options, Country is smaller than the City. USed to decide where a person it.
:;ctcpuser= :Should it ctcp version a user when they connect
:;ctcpeob= :Should it ctcp version a user when services reconnects to a server, or a netsplit server returns
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight></div>
980a0603a5585409117858e78521d586a57c24b3
958
957
2014-05-15T19:24:41Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/irc2sql}}
{{Header|irc2sql|Database|Anope}}
== <div class="moduleheader">Description</div> ==
Stores channel and user statistics in a MySQL database. It creates a new pseudo-client called StatServ.
*<span style="color: red;">Enabeled/Disabeled using the '''./extras''' command line configuration tool, as 'stats'.</span>
;service {...} :
:;nick= :Name of the new service
:;user= :User (ident) for the new service user
:;host= :Hostname for the new service user
:;gecis= :Realname for the new service user
:;mode= :default modes for this new service user
:;channels= :Channels that the new service user joins automatically
;module {...} :
:;name= :module name
:;client= :Service to connect with
:;engine= :the SQL backend engine, currently requires MySQL v 5.5 via the m_mysql module.
:;prefix= :Table prefix for the data storage tables.
:;geoip_database= :"Country" or "City" are the only options, Country is smaller than the City. USed to decide where a person it.
:;ctcpuser= :Should it ctcp version a user when they connect
:;ctcpeob= :Should it ctcp version a user when services reconnects to a server, or a netsplit server returns
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for the irc2sql gateway
*
*/
service
{
/*
* The name of the StatServ client.
*/
nick = "StatServ"
/*
* The username of the StatServ client.
*/
user = "StatServ"
/*
* The hostname of the StatServ client.
*/
host = "services.host"
/*
* The realname of the StatServ client.
*/
gecos = "Statistical Service"
/*
* The modes this client should use.
* Do not modify this unless you know what you are doing.
*
* These modes are very IRCd specific. If left commented, sane defaults
* are used based on what protocol module you have loaded.
*
* Note that setting this option incorrectly could potentially BREAK some, if
* not all, usefulness of the client. We will not support you if this client is
* unable to do certain things if this option is enabled.
*/
#modes = "+o"
/*
* An optional comma separated list of channels this service should join. Outside
* of log channels this is not very useful, as the service will just idle in the
* specified channels, and will not accept any types of commands.
*
* Prefixes may be given to the channels in the form of mode characters or prefix symbols.
*/
#channels = "@#services,#mychan"
}
module
{
name = "irc2sql"
/*
* The name of the client that should send the CTCP VERSION requests.
* It must already exist or must be defined in the following service block.
*/
client = "StatServ"
/*
* The name of the SQL engine to use.
* This must be MySQL and must match the name in the mysql{} block
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
/*
* GeoIP - Automatically adds users geoip location to the user table.
* Tables are created by irc2sql, you have to run the
* geoipupdate script after you started Anope to download
* and import the GeoIP database.
*
* The geoip database can be the smaller "country" database or the
* larger "city" database. Comment to disable geoip lookup.
*/
geoip_database = "country"
/*
* Get the CTCP version from users
* The users connecting to the network will receive a CTCP VERSION
* request from the above configured services client
*/
ctcpuser = "yes"
/*
* Send out CTCP VERSION requests to users during burst.
* Disable this if you restart Anope often and don't want to
* annoy your users.
*/
ctcpeob = "yes"
}
</syntaxhighlight></div>
4629effcf55aca5e4b07deab59f9866f1d329d4f
957
2014-05-15T17:28:32Z
Azander
9
Created page with "{{Language|2.0/Modules/irc2sql}} {{Header|irc2sql|Database|Anope}} == <div class="moduleheader">Description</div> == Stores channel and user statistics in a MySQL database. ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/irc2sql}}
{{Header|irc2sql|Database|Anope}}
== <div class="moduleheader">Description</div> ==
Stores channel and user statistics in a MySQL database.
*<span style="color: red;">Enabeled/Disabeled using the '''./extras''' command line configuration tool, as 'stats'.</span>
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
</syntaxhighlight></div>
72414aa63241cb3a4e25154104c2d254f4f3831e
2.0/Module/m sql oper
0
215
948
947
2014-05-13T19:53:29Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_sql_oper}}
{{Header|m_sql_oper|Database|Anope}}
== <div class="moduleheader">Description</div> ==
Allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
*<span style="color: red;">Enabeled/Disabeled using the '''./extra''' command line configuration tool.</span>
*'''NOTE''': Requires the m_mysql module.
;name= :Name of the module
;engine= :SQL backend method it should use to get it's data
;query= :Custom QUERY to get the information about an oper
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
</syntaxhighlight></div>
16f7785906fe7162ce8b5d1defbbf1ec3f461527
947
2014-05-13T19:52:48Z
Azander
9
Created page with "{{Language|2.0/Modules/m_sql_oper}} {{Header|m_sql_oper|Database|Anope}} == <div class="moduleheader">Description</div> == Allows granting users services operator privileges..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_sql_oper}}
{{Header|m_sql_oper|Database|Anope}}
== <div class="moduleheader">Description</div> ==
Allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
*'''NOTE''': Requires the m_mysql module.
;name= :Name of the module
;engine= :SQL backend method it should use to get it's data
;query= :Custom QUERY to get the information about an oper
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_sql_oper [EXTRA]
*
* This module allows granting users services operator privileges and possibly IRC Operator
* privileges based on an external SQL database using a custom query.
*/
#module
{
name = "m_sql_oper"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to determine if a user should have operator privileges.
* A field named opertype must be returned in order to link the user to their oper type.
* The oper types must be configured earlier in services.conf.
*
* If a field named modes is returned from this query then those modes are set on the user.
* Without this, only a simple +o is sent.
*
* @a@ is replaced with the user's account name
* @i@ is replaced with the user's IP
*/
query = "SELECT `opertype` FROM `my_users` WHERE `user_name` = @a@"
}
</syntaxhighlight></div>
a3eff2c2811a890edc46699a14bb15eb0e9adc78
2.0/Modules
0
66
1148
1077
2020-05-14T16:44:45Z
Laurens
36
/* Commands */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
[[Media:Example.ogg]]== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_bcrypt|enc_bcrypt]] || One way encryption using the blowfish hashing system.
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. ''Requires m_ldap''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. ''Requires m_ldap''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql|m_sql m_sql_live]] || Stored services data in a mysql database and uses that for maintaining services.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. ''Requires m_rdis, m_mysql, or m_sqlite''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL. ''Requies m_mysql''
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query. ''Requires m_mysql''
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. ''Requires m_mysql''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC ''Requires m_httpd''.
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=browse&name=&cat=-1&anopever=52&sort=name&ord=asc] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
f4526a5eef351bc515e0c71df9281b6d46ccb111
1077
1011
2014-12-20T15:39:41Z
Azander
9
/* Contributed Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_bcrypt|enc_bcrypt]] || One way encryption using the blowfish hashing system.
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. ''Requires m_ldap''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. ''Requires m_ldap''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql|m_sql m_sql_live]] || Stored services data in a mysql database and uses that for maintaining services.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. ''Requires m_rdis, m_mysql, or m_sqlite''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL. ''Requies m_mysql''
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query. ''Requires m_mysql''
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. ''Requires m_mysql''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC ''Requires m_httpd''.
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=browse&name=&cat=-1&anopever=52&sort=name&ord=asc] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
1632229bef86407c83df1fe45e5c41993d5a9856
1011
968
2014-05-30T19:26:58Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_bcrypt|enc_bcrypt]] || One way encryption using the blowfish hashing system.
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. ''Requires m_ldap''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. ''Requires m_ldap''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql|m_sql m_sql_live]] || Stored services data in a mysql database and uses that for maintaining services.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. ''Requires m_rdis, m_mysql, or m_sqlite''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL. ''Requies m_mysql''
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query. ''Requires m_mysql''
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. ''Requires m_mysql''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC ''Requires m_httpd''.
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
df9f2370e2906b9fbbb5d3363afaca6e0284ea47
968
966
2014-05-20T16:06:00Z
Azander
9
/* Database --changed BOLD to Italics to match rest of page when listing Required modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_bcrypt|enc_bcrypt]] || One way encryption using the blowfish hashing system.
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. ''Requires m_ldap''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. ''Requires m_ldap''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. ''Requires m_rdis, m_mysql, or m_sqlite''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL. ''Requies m_mysql''
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query. ''Requires m_mysql''
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. ''Requires m_mysql''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC ''Requires m_httpd''.
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
3e67c77394501159b6ad99fee38b7398bc1caa42
966
965
2014-05-19T21:07:50Z
Azander
9
/* Encryption */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_bcrypt|enc_bcrypt]] || One way encryption using the blowfish hashing system.
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL. '''Requies m_mysql'''
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query. '''Requires m_mysql'''
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. '''Requires m_mysql'''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC ''Requires m_httpd''.
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
7cd131656a9c7513deed36bd2753c92c06cc9b5c
965
964
2014-05-19T21:04:52Z
Azander
9
/* Encryption */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_bcrypt || One way encryption using the blowfish hashing system.
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL. '''Requies m_mysql'''
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query. '''Requires m_mysql'''
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. '''Requires m_mysql'''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC ''Requires m_httpd''.
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
05b5ad3cdf72fb4eff480db3fa80bdab3a63fec5
964
963
2014-05-19T21:02:34Z
Azander
9
/* Encryption */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_bcrypt || One way encryption using the system's default hashing system.
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL. '''Requies m_mysql'''
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query. '''Requires m_mysql'''
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. '''Requires m_mysql'''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC ''Requires m_httpd''.
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
39edd7e058b440fbeef6c889a44996552583bbf1
963
962
2014-05-15T19:48:17Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL. '''Requies m_mysql'''
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query. '''Requires m_mysql'''
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. '''Requires m_mysql'''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC ''Requires m_httpd''.
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
4fd3f365023556ceab2d211db0b2fcd0685fd48f
962
961
2014-05-15T19:27:07Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL. '''Requies m_mysql'''
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query. '''Requires m_mysql'''
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. '''Requires m_mysql'''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
34f82eaeb67424d27f053dc5d940f4c9045649c6
961
960
2014-05-15T19:26:40Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL. '''Requies m_mysql'''
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. '''Requires m_mysql'''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
29a52ac291b4c5cec4121d177bacf63c3fb1a0a9
960
959
2014-05-15T19:25:34Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. '''Requires m_mysql'''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
96623b91eecca4d4fcdc4b9cf16628560d9bfd19
959
956
2014-05-15T19:25:08Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. ''Requires m_mysql''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
41355f448b59160544b3d1d497ba74c56bd69f13
956
955
2014-05-15T17:18:53Z
Azander
9
/* Database -- added irc2mysql*/
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
|-
| id = "f" | [[2.0/Module/irc2sql|irc2sql]] || Stores channel statistics in a mysql database. ''Requires m_mysql''
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
b4beecdb465da98064e49ac008f52b3a0d7b3c70
955
954
2014-05-15T17:16:32Z
Azander
9
/* Contributed Modules - formatting cleanup */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
:;How to install a module :
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
b814a4ec408f9f9cf98ee93d8727889a4219c270
954
951
2014-05-15T17:15:30Z
Azander
9
/* Contributed Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org] for 3rd party modules.
: ==== How to install a module ====
::# Download your module into modules/third/.
::# Run ./Config (again) to generate correct makefiles
::# Type: cd build
::# Type: make install
::# Update your config files in services/conf/
::# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
548bb8520bcbbf9c999ca4e88554b6bfce5e7ce3
951
950
2014-05-13T19:56:50Z
Azander
9
/* Contributed Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
:==== How to install a module ====
::# Download your module into modules/third/.
::# Run ./Config (again) to generate correct makefiles
::# Type: cd build
::# Type: make install
::# Update your config files in services/conf/
::# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
9eadebbe7f05a5661601e4b04578e04d8f468d27
950
949
2014-05-13T19:55:58Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
:{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
:{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
:{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
:{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
:See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
:# Download your module into modules/third/.
:# Run ./Config (again) to generate correct makefiles
:# Type: cd build
:# Type: make install
:# Update your config files in services/conf/
:# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
54d5b71e054e2ff5ff303a23bf559f976746dc5a
949
946
2014-05-13T19:54:24Z
Azander
9
/* Commands */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
:{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
658d4476a25f3bdc57abecfa9ec48dc9fa371bcf
946
936
2014-05-13T19:49:42Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" | [[2.0/Module/m_sql_oper|m_sql_oper]] || allows granting users services operator privileges and possibly IRC Operator privileges based on an external SQL database using a custom query.
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
9d2805b964539e25ec5ba4c69437ad76286c03ca
936
935
2014-05-13T19:21:26Z
Azander
9
/* Stats Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/m_chanstats|m_chanstats]] || Channel Statistics. ''Requires Chanserv, Nickserv, BotServ, and m_mysql''
|}
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
c7cb742bee1f9d13d63507adfff9096480cdca59
935
934
2014-05-13T19:12:49Z
Azander
9
/* Pseudoclients */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Module Prefix || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || ns_ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || cs_ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || bs_ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || ms_ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || hs_ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || os_ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
a1b11e97a00caa53f2bd3ad42cfd97dfa51d3cf8
934
932
2014-05-13T19:08:48Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" | cs_statusupdate || This module automatically updates users status on channels when the channel's access list is modified.
|-
|id ="f" | m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" | m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" | m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" | m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" | m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" | m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" | m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
05f50cefa6cf4f3630145c7d455e24fb3363b61f
932
931
2014-05-13T19:04:47Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/bs_autoassign|bs_autoassign]] || Allows service bots to be automatically assigned to channels upon registration.
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" |m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
99adc94a2e77de5d01e5b9fc3fa223c7916de258
931
928
2014-05-13T19:02:53Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" |m_xmlrpc_main || Adds the main XMLRPC core functions. ''Requires m_xmlrpc''.
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
9d1b486c333b404db2bc524195a28d65121ce8cb
928
926
2014-05-13T15:51:04Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" | [[2.0/Modules/m_xmlrpc|m_xmlrpc]] || Allows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself, this module does nothing useful. ''Requires m_httpd''.
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
7bbf446fcd27f46c5aa8cdf8629e03109fa515ef
926
923
2014-05-13T15:42:44Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" | [[2.0/Modules/webcpanel|webcpanel]] || creates a web configuration panel that allows users and operators to perform any task as they could over IRC
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
401037563bcc7caa1b703b5081f643a3ada84780
923
922
2014-05-13T15:28:24Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [[2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
02f36c620daba3f7fb82bde997ed32f3a2fcd969
922
921
2014-05-13T15:28:10Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" | [2.0/Modules/m_sqlite|m_sqlite]] || allows other modules to use SQLite. By itself, this module does nothing useful.
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
0b37f9d974c8a99a304568d2d6e27fc1eecafe99
921
919
2014-05-13T15:07:02Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" |m_sqlite ||
|-
|id ="f" | m_sql_log || adds an additional target option to log{} blocks that allows logging Service's logs to SQL.
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
52ebf0f26c44bc606a65728799324aaeba91c2ea
919
918
2014-05-13T14:57:52Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query. '''Requires m_rdis, m_mysql, or m_sqlite'''
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
feeadc84eb592e654dc44ad8e7cce14e7cb3eb5e
918
917
2014-05-13T14:57:02Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query.
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
053b4a1e3f11a636c20d94c0c7b0137fdf859c55
917
914
2014-05-13T14:56:17Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || This module allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || This module dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || This module allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || This module allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_sql_authentication|m_sql_authentication]] || allows authenticating users against an external SQL database using a custom query.
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
1382e010b89ecbc18170ee99bc5f99a754603064
914
913
2014-05-13T14:50:52Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || This module allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || This module dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || This module allows other modules to use MySQL. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_redis|m_redis]] || This module allows other modules to use Redis. By itself, this module does nothing useful.
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
9f7d4d54d502589b5b4ff17ae685682860f1ba49
913
911
2014-05-13T14:49:53Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || This module allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || This module dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || This module allows other modules to use MySQL. y itself, this module does nothing useful.
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
1b4707479cec48a621233583a9cfb1825f99f08c
911
909
2014-05-13T14:44:51Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || This module allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || This module dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_mysql|m_mysql]] || This module allows other modules to use MySQL. y itself, this module does nothing useful.
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
cb3287655e2eeb77a3d062b642646bd631f6f57d
909
908
2014-05-13T14:28:58Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || This module allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_ldap_oper|m_ldap_oper]] || This module dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
ced91678c6b27e4159ef11792e289ce0959e52f2
908
905
2014-05-13T14:28:27Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || This module allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" |m_ldap_oper || This module dynamically ties users to Anope opertypes when they identify via LDAP group membership. '''Requires m_ldap'''.
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
6e527c31ba7308c7732d9b7e45b5bcfd9904fb52
905
903
2014-05-13T14:21:13Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | [[2.0/Modules/m_ldap_authentication|m_ldap_authentication]] || This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users. '''Requires m_ldap'''.
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || This module allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
adc976e92ee72fd808671d5441bc9c04a96e500f
903
901
2014-05-13T14:17:08Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" | [[2.0/Modules/m_ldap|m_ldap]] || This module allows other modules to use LDAP. By itself, this module does nothing useful.
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
659cf350b672183d2a4d0b4e5c9d67e8d636f719
901
900
2014-05-13T14:06:10Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" | [[2.0/Modules/m_httpd|m_httpd]] || llows services to serve web pages. By itself, this module does nothing useful.
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
7d9a47ad3355034af747f23381b20e32b21eae8b
900
899
2014-05-13T14:05:04Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== <div class="moduleheader">Pseudoclients</div> ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== <div class="moduleheader">Protocol</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== <div class="moduleheader">Encryption</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== <div class="moduleheader">Database</div> ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== <div class="moduleheader">Extra Modules</div> ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== <div class="moduleheader">Stats Modules</div> ==
== <div class="moduleheader">Contributed Modules</div> ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
7380f89c61fcea2cb64e6246727e4b5ad70cf884
899
898
2014-05-13T14:03:28Z
Azander
9
/* Commands */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== <div class="moduleheader">Commands</div> ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
adb9aa91bf66332d3a2f5f0566d82831c6f67f48
898
896
2014-05-13T14:02:20Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan || Gives users who are op in the specified help channel usermode +h (helpop)
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
e597b3fda494fb7769181251e3433e1713042217
896
895
2014-05-13T13:53:11Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" | [[2.0/Modules/m_dnsbl|m_dnsbl]] || Allows configurable DNS blacklists to check connecting users against.
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
258aacd4954fe7c220bbe171d16bf285da0c0938
895
894
2014-05-12T22:16:48Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
1e9e615e3045d8b49a38a4683b79824ecb49e4a9
894
893
2014-05-12T22:16:34Z
Azander
9
/* Encryption */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
45029b72f197632c210c18c62efb82ea7fdf1443
893
892
2014-05-12T22:16:20Z
Azander
9
/* Protocol */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules sortable"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
865a6d18d9a42ec18ba78b8c5689f1fb9db1f32a
892
891
2014-05-12T22:15:58Z
Azander
9
/* Pseudoclients */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules sortable"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
229e05d1089c04fdb0d354b51b315142b13d770e
891
890
2014-05-12T22:15:41Z
Azander
9
/* OperServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules sortable"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
e10bfab26e8db20814a30ad445c634f6a4f293a9
890
889
2014-05-12T22:15:24Z
Azander
9
/* HostServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
7ba69b69fa8c3ce5ddecaa3a7f2d78bc94a49c95
889
888
2014-05-12T22:15:07Z
Azander
9
/* MemoServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
fd6979d55565485cf42a274b74e6f0cf0e8134f2
888
887
2014-05-12T22:14:55Z
Azander
9
/* BotServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
48d45a87547c68f8a8a1b815b05c386fc6a47828
887
886
2014-05-12T22:14:42Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
e57633fac4c4b75045ea110a43cadaa61257995d
886
884
2014-05-12T22:14:27Z
Azander
9
/* NickServ --added sorting to header*/
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules sortable"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
3c0d55ed136d6b1a81cee96e75e027e250d37ed3
884
882
2014-05-12T22:02:28Z
Azander
9
/* Contributed Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
==== How to install a module ====
# Download your module into modules/third/.
# Run ./Config (again) to generate correct makefiles
# Type: cd build
# Type: make install
# Update your config files in services/conf/
# Issue a ''/msg operserv restart'', or use ''/operserv modload <module_name>'' to load the new module.
8b6f67ead5c9d7d56124469095034d2e173f35f6
882
880
2014-05-12T21:51:25Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" | [[2.0/Modules/m_ssl_openssl|m_ssl_openssl]] || This module provides SSL services to Anope using OpenSSL.
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
How to install (basics)
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
be8780664f3e45fe8622ac7d2dc97820f25964e2
880
878
2014-05-12T21:45:18Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes || Add the DH-AES mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" |m_sasl_dh-blowfish || Add the DH-BLOWFISH mechanism to SASL. ''Requires m_sasl.'' ''Requires openssl.''
|-
|id ="f" | [[2.0/Modules/m_ssl_gnutls|m_ssl_gnutls]] || This module provides SSL services to Anope using GnuTLS, for example to connect to the uplink server(s) via SSL.
|-
|id ="f" |m_ssl_openssl ||
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl || Some IRCds allow "SASL" authentication to let users identify to Services during the IRCd user registration process.
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
How to install (basics)
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
dadfc6155d25c4316a8a798f89262d81d74a6aee
878
874
2014-05-12T21:12:24Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes ||
|-
|id ="f" |m_sasl_dh-blowfish ||
|-
|id ="f" |m_ssl_gnutls ||
|-
|id ="f" |m_ssl_openssl ||
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" | [[2.0/Modules/m_proxyscan|m_proxyscan]] || This module allows you to scan connecting clients for open proxies.
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl ||
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
How to install (basics)
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
496566e15daadc03e5f05c41892dcafcdafbc08b
874
870
2014-05-12T20:57:43Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre || Provides the regex engine regex/pcre, which uses the Perl Compatible Regular Expressions library. ''Requires PCRE library, not included with the anope distribution''.
|-
|id ="f" |m_regex_posix || Provides the regex engine regex/posix, which uses the POSIX compliant regular expressions. ''Does '''not''' require external liraries''.
|-
|id ="f" |m_regex_tre || Provides the regex engine regex/tre, which uses the TRE regex library. ''Requires the TRE library, not included with the anope distribution''.
|-
|id ="f" |m_sasl_dh-aes ||
|-
|id ="f" |m_sasl_dh-blowfish ||
|-
|id ="f" |m_ssl_gnutls ||
|-
|id ="f" |m_ssl_openssl ||
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Modules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" |m_proxyscan ||
|-
|id ="f" |m_redis ||
|-
|id ="f" | [[2.0/Modules/m_rewrite|m_rewrite]] || Allows rewriting commands sent to/from clients.
|-
|id ="f" |m_sasl ||
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
How to install (basics)
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
c03b1947604e008e0fec71f1539c7ad4deaff420
870
869
2014-05-12T20:35:53Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre ||
|-
|id ="f" |m_regex_posix ||
|-
|id ="f" |m_regex_tre ||
|-
|id ="f" |m_sasl_dh-aes ||
|-
|id ="f" |m_sasl_dh-blowfish ||
|-
|id ="f" |m_ssl_gnutls ||
|-
|id ="f" |m_ssl_openssl ||
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" | [[2.0/Moduules/m_dns|m_dns]] || Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" |m_proxyscan ||
|-
|id ="f" |m_redis ||
|-
|id ="f" |m_rewrite ||
|-
|id ="f" |m_sasl ||
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
How to install (basics)
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
600f361382d0b4cd36ba8ebab27f398eb906f317
869
868
2014-05-12T20:22:42Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" |bs_autoassign ||
|-
|id ="f" |cs_statusupdate ||
|-
|id ="f" |m_regex_pcre ||
|-
|id ="f" |m_regex_posix ||
|-
|id ="f" |m_regex_tre ||
|-
|id ="f" |m_sasl_dh-aes ||
|-
|id ="f" |m_sasl_dh-blowfish ||
|-
|id ="f" |m_ssl_gnutls ||
|-
|id ="f" |m_ssl_openssl ||
|-
|id ="f" |m_dnsbl ||
|-
|id ="f" |m_dns ||
|-
|id ="f" |m_helpchan ||
|-
|id ="f" |m_httpd ||
|-
|id ="f" |m_proxyscan ||
|-
|id ="f" |m_redis ||
|-
|id ="f" |m_rewrite ||
|-
|id ="f" |m_sasl ||
|-
|id ="f" |m_xmlrpc ||
|-
|id ="f" |m_xmlrpc_main ||
|-
|id ="f" |webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
How to install (basics)
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
ca4092d6df4f79f64889a7200bbd74f6b3b63cf3
868
867
2014-05-12T20:22:02Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|id ="f" | m_ldap_authentication ||
|-
|id ="f" |m_ldap ||
|-
|id ="f" |m_ldap_oper ||
|-
|id ="f" |m_mysql ||
|-
|id ="f" |m_sql_authentication ||
|-
|id ="f" |m_sqlite ||
|-
|id ="f" |m_sql_log ||
|-
|id ="f" |m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|bs_autoassign ||
|-
|cs_statusupdate ||
|-
|m_regex_pcre ||
|-
|m_regex_posix ||
|-
|m_regex_tre ||
|-
|m_sasl_dh-aes ||
|-
|m_sasl_dh-blowfish ||
|-
|m_ssl_gnutls ||
|-
|m_ssl_openssl ||
|-
|m_dnsbl ||
|-
|m_dns ||
|-
|m_helpchan ||
|-
|m_httpd ||
|-
|m_proxyscan ||
|-
|m_redis ||
|-
|m_rewrite ||
|-
|m_sasl ||
|-
|m_xmlrpc ||
|-
|m_xmlrpc_main ||
|-
|webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
How to install (basics)
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
4e1d3fe5c0df2ef3202e893e33751df2e61065b5
867
866
2014-05-12T20:18:01Z
Azander
9
/* Encryption */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords. '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|m_ldap_authentication ||
|-
|m_ldap ||
|-
|m_ldap_oper ||
|-
|m_mysql ||
|-
|m_sql_authentication ||
|-
|m_sqlite ||
|-
|m_sql_log ||
|-
|m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|bs_autoassign ||
|-
|cs_statusupdate ||
|-
|m_regex_pcre ||
|-
|m_regex_posix ||
|-
|m_regex_tre ||
|-
|m_sasl_dh-aes ||
|-
|m_sasl_dh-blowfish ||
|-
|m_ssl_gnutls ||
|-
|m_ssl_openssl ||
|-
|m_dnsbl ||
|-
|m_dns ||
|-
|m_helpchan ||
|-
|m_httpd ||
|-
|m_proxyscan ||
|-
|m_redis ||
|-
|m_rewrite ||
|-
|m_sasl ||
|-
|m_xmlrpc ||
|-
|m_xmlrpc_main ||
|-
|webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
How to install (basics)
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
dac6f0b9e698927ce13bff77a9432183f32a50ca
866
865
2014-05-12T20:17:12Z
Azander
9
/* Encryption */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | enc_md5 || One-way encryption MD5
|-
| id="f" | enc_none || For plain text passwords '''NOT RECOMMENDED''' Except to convert from them to another.
|-
| id="f" | enc_old || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | enc_sha1 || One-way encryption SHA1
|-
| id="f" | enc_sha256 || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|m_ldap_authentication ||
|-
|m_ldap ||
|-
|m_ldap_oper ||
|-
|m_mysql ||
|-
|m_sql_authentication ||
|-
|m_sqlite ||
|-
|m_sql_log ||
|-
|m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|bs_autoassign ||
|-
|cs_statusupdate ||
|-
|m_regex_pcre ||
|-
|m_regex_posix ||
|-
|m_regex_tre ||
|-
|m_sasl_dh-aes ||
|-
|m_sasl_dh-blowfish ||
|-
|m_ssl_gnutls ||
|-
|m_ssl_openssl ||
|-
|m_dnsbl ||
|-
|m_dns ||
|-
|m_helpchan ||
|-
|m_httpd ||
|-
|m_proxyscan ||
|-
|m_redis ||
|-
|m_rewrite ||
|-
|m_sasl ||
|-
|m_xmlrpc ||
|-
|m_xmlrpc_main ||
|-
|webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
How to install (basics)
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
ebbe62fec66c2c5b6bdbaf379365a6909c3a6775
865
851
2014-05-12T17:19:06Z
Azander
9
/* Contributed Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|m_ldap_authentication ||
|-
|m_ldap ||
|-
|m_ldap_oper ||
|-
|m_mysql ||
|-
|m_sql_authentication ||
|-
|m_sqlite ||
|-
|m_sql_log ||
|-
|m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|bs_autoassign ||
|-
|cs_statusupdate ||
|-
|m_regex_pcre ||
|-
|m_regex_posix ||
|-
|m_regex_tre ||
|-
|m_sasl_dh-aes ||
|-
|m_sasl_dh-blowfish ||
|-
|m_ssl_gnutls ||
|-
|m_ssl_openssl ||
|-
|m_dnsbl ||
|-
|m_dns ||
|-
|m_helpchan ||
|-
|m_httpd ||
|-
|m_proxyscan ||
|-
|m_redis ||
|-
|m_rewrite ||
|-
|m_sasl ||
|-
|m_xmlrpc ||
|-
|m_xmlrpc_main ||
|-
|webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
How to install (basics)
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
33e6c8d71976ad4686f7384a137d71d08bbbe53c
851
849
2014-05-09T17:19:58Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|m_ldap_authentication ||
|-
|m_ldap ||
|-
|m_ldap_oper ||
|-
|m_mysql ||
|-
|m_sql_authentication ||
|-
|m_sqlite ||
|-
|m_sql_log ||
|-
|m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|bs_autoassign ||
|-
|cs_statusupdate ||
|-
|m_regex_pcre ||
|-
|m_regex_posix ||
|-
|m_regex_tre ||
|-
|m_sasl_dh-aes ||
|-
|m_sasl_dh-blowfish ||
|-
|m_ssl_gnutls ||
|-
|m_ssl_openssl ||
|-
|m_dnsbl ||
|-
|m_dns ||
|-
|m_helpchan ||
|-
|m_httpd ||
|-
|m_proxyscan ||
|-
|m_redis ||
|-
|m_rewrite ||
|-
|m_sasl ||
|-
|m_xmlrpc ||
|-
|m_xmlrpc_main ||
|-
|webcpanel ||
|-
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
63f119b12ede9f6770c54e1ed33912c916cbacab
849
848
2014-05-09T17:16:28Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|m_ldap_authentication ||
|-
|m_ldap ||
|-
|m_ldap_oper ||
|-
|m_mysql ||
|-
|m_sql_authentication ||
|-
|m_sqlite ||
|-
|m_sql_log ||
|-
|m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|bs_autoassign ||
|-
|cs_statusupdate ||
|-
|m_regex_pcre ||
|-
|m_regex_posix ||
|-
|m_regex_tre ||
|-
|m_sasl_dh-aes ||
|-
|m_sasl_dh-blowfish ||
|-
|m_ssl_gnutls ||
|-
|m_ssl_openssl ||
|-
|m_dnsbl ||
|-
|m_dns ||
|-
|m_helpchan ||
|-
|m_httpd ||
|-
|m_proxyscan ||
|-
|m_redis ||
|-
|m_rewrite ||
|-
|m_sasl ||
|-
|m_xmlrpc ||
|-
|m_xmlrpc_main ||
|
|}
== Stats Modules ==
== Contributed Modules ==
See [https://modules.anope.org/index.php?page=home https://modules.anope.org]
20df5a67f69d7f5f9da6a3762dc7133277a377ac
848
847
2014-05-09T17:13:55Z
Azander
9
Protected "[[2.0/Modules]]" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|m_ldap_authentication ||
|-
|m_ldap ||
|-
|m_ldap_oper ||
|-
|m_mysql ||
|-
|m_sql_authentication ||
|-
|m_sqlite ||
|-
|m_sql_log ||
|-
|m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|bs_autoassign ||
|-
|cs_statusupdate ||
|-
|m_regex_pcre ||
|-
|m_regex_posix ||
|-
|m_regex_tre ||
|-
|m_sasl_dh-aes ||
|-
|m_sasl_dh-blowfish ||
|-
|m_ssl_gnutls ||
|-
|m_ssl_openssl ||
|-
|m_dnsbl ||
|-
|m_dns ||
|-
|m_helpchan ||
|-
|m_httpd ||
|-
|m_proxyscan ||
|-
|m_redis ||
|-
|m_rewrite ||
|-
|m_sasl ||
|-
|m_xmlrpc ||
|-
|m_xmlrpc_main ||
|
|}
== Stats Modules ==
2f18995cdcf3245c02cfc9441b5be6f03808b3b0
847
846
2014-05-09T17:11:16Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|m_ldap_authentication ||
|-
|m_ldap ||
|-
|m_ldap_oper ||
|-
|m_mysql ||
|-
|m_sql_authentication ||
|-
|m_sqlite ||
|-
|m_sql_log ||
|-
|m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|bs_autoassign ||
|-
|cs_statusupdate ||
|-
|m_regex_pcre ||
|-
|m_regex_posix ||
|-
|m_regex_tre ||
|-
|m_sasl_dh-aes ||
|-
|m_sasl_dh-blowfish ||
|-
|m_ssl_gnutls ||
|-
|m_ssl_openssl ||
|-
|m_dnsbl ||
|-
|m_dns ||
|-
|m_helpchan ||
|-
|m_httpd ||
|-
|m_proxyscan ||
|-
|m_redis ||
|-
|m_rewrite ||
|-
|m_sasl ||
|-
|m_xmlrpc ||
|-
|m_xmlrpc_main ||
|
|}
== Stats Modules ==
2f18995cdcf3245c02cfc9441b5be6f03808b3b0
846
845
2014-05-09T17:05:43Z
Azander
9
/* Extra Modules */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|m_ldap_authentication ||
|-
|m_ldap ||
|-
|m_ldap_oper ||
|-
|m_mysql ||
|-
|m_sql_authentication ||
|-
|m_sqlite ||
|-
|m_sql_log ||
|-
|m_sql_oper ||
|-
|}
== Extra Modules ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|m_regex_pcre ||
|-
|m_regex_posix ||
|-
|m_regex_tre ||
|-
|m_sasl_dh-aes ||
|-
|m_sasl_dh-blowfish ||
|-
|m_ssl_gnutls ||
|-
|m_ssl_openssl ||
|-
|}
== Stats Modules ==
5feecb7c524b2962e4fe005b38c840c796ba8321
845
838
2014-05-09T17:03:31Z
Azander
9
/* Database */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
{| class="modules"
! <br>Module<br><br> || Description
|-
|m_ldap_authentication ||
|-
|m_ldap ||
|-
|m_ldap_oper ||
|-
|m_mysql ||
|-
|m_sql_authentication ||
|-
|m_sqlite ||
|-
|m_sql_log ||
|-
|m_sql_oper ||
|-
|}
== Extra Modules ==
== Stats Modules ==
0b24009c373c56c6019c9215630b76568e89ec39
838
837
2014-05-09T15:31:13Z
Azander
9
/* NickServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
36d0df72fa0456c78fb85a9b1796f62ae557b494
837
823
2014-05-09T15:30:15Z
Azander
9
/* NickServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
31db0cf7e8dfcd2c62f5f92308f2157d80d1e792
823
822
2014-05-09T14:44:25Z
Azander
9
/* Protocol */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] || Communications interface for the Bahamut IRCd.
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] || Communications interface for the Charybdis IRCd.
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] || Communications interface for the Inspire version 1.2 IRCd.
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] || Communications interface for the Inspire version 2.0 and above IRCd.
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] || Communications interface for the Ngircd IRCd.
|-
| id="f" | [[2.0/Modules/plexus|plexus]] || Communications interface for the Plexus IRCd.
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] || Communications interface for the Ratbox IRCd.
|-
| id="f" | [[2.0/Modules/unreal|unreal]] || Communications interface for the Unreal IRCd.
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
36d0df72fa0456c78fb85a9b1796f62ae557b494
822
820
2014-05-09T14:32:20Z
Azander
9
/* OperServ -- updated UPDATE syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately || UPDATE
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
ad2c7fb80e3a20f70aa2c76e1858e5f799d8674a
820
817
2014-05-09T14:29:24Z
Azander
9
/* OperServ -- updated SxLiine syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|- S
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE || Manipulate the SxLINE list || SNLINE ADD ['''<ins>+expiry<?ins>'''] '''<ins>mask</ins>''':'''<ins>reason</ins>''' <br /> SQLINE ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> SxLINE DEL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> SxLINE LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINE VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> SxLINe CLEAR
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
2c7b9a247a67e91e3afdec6c5258023a1216182f
817
815
2014-05-09T14:07:50Z
Azander
9
/* OperServ -- updated SVSNICK / SVSJOIN / SVSPART syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVSNICK <br /> SVSJOIN <br /> SVSPART || Forcibly alter user's nick/channel || SVSNICK '''<ins>nick</ins>''' '''<ins>newnick</ins>''' <br /> SVSJOIN '''<ins>nick</ins>''' '''<ins>#channel</ins>''' <br /> SVSPART '''<ins>nick</ins>''' '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
2ff58d989674e80724eb4b25b5123c6aff376fe2
815
813
2014-05-09T13:59:33Z
Azander
9
/* OperServ -- updated STATS syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ || STATS ['''AKILL''' or '''HASH''' or '''UPLINK''' or '''UPTIME''' or '''ALL''' or '''RESET''']
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
40f9f942dd0e63606298b723767c67b78321d24e
813
811
2014-05-09T13:56:11Z
Azander
9
/* OperServ -- updated SHUTDOWN / RESTART / QUIT syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN <br /> RESTART <br /> QUIT|| Terminate services with save || SHUTDOWN <br /> RESTART <br /> QUIT
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
44f81d56801005cee614ee4cf1bae42bdee9da46
811
808
2014-05-08T22:48:36Z
Azander
9
/* OperServ -- updated SET syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options || SET READONLY {'''ON''' or '''OFF'''} <br /> SET DEBUG {'''ON''' or '''OFF'''} <br /> SET NOEXPIRE {'''ON''' or '''OFF'''} <br /> SET SUPERADMIN {'''ON''' or '''OFF'''} <br /> SET LIST
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
e98be4b92647b6ddd6b6e8e72b0cd1d693c72ace
808
807
2014-05-08T22:37:07Z
Azander
9
/* OperServ -- updated SESSION syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions || SESSION LIST '''<ins>threshold</ins>''' <br /> SESSION VIEW '''<ins>host</ins>'''
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
34cba664d728109aa32f44eeb8be47e0f30aab73
807
804
2014-05-08T22:34:48Z
Azander
9
/* OperServ -- updated RELOAD syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file || RELOAD
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
59287f3802fa0e12cbad133f871dc38de2dd2c7f
804
802
2014-05-08T22:32:17Z
Azander
9
/* OperServ -- updated OPER syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators || OPER ADD '''<ins>nick</ins>''' '''<ins>opertype</ins>''' <br /> OPER DEL '''<ins>nick</ins>''' <br /> OPER INFO '''<ins>opertype</ins>''' <br /> OPER LIST
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
4cadad4c7aec3037a809092ddbb1a0045e0d1f18
802
801
2014-05-08T22:26:42Z
Azander
9
/* OperServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</ins>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
0a6b4aa94b664cfd2577c84be8cda76414d87ef0
801
799
2014-05-08T22:26:21Z
Azander
9
/* OperServ -- updated OLINE syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user || OLINE '''<ins>nick</ins>''' '''<ins>flags</inf>'''
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
3d23d0d2866808fc17f24f7b2c15a4379478bf83
799
797
2014-05-08T22:21:16Z
Azander
9
/* OperServ -- updated NOOP syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely || NOOP SET '''<ins>server</ins>''' <br /> NOOP REVOKE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
df8bc297a5eda503a22662531848b7675d965359
797
795
2014-05-08T22:00:31Z
Azander
9
/* OperServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper || LOGONNEWS ADD '''<ins>text</ins>''' <br /> LOGONNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> LOGONNEWS LIST <br /> OPERNEWS ADD '''<ins>text</ins>''' <br /> OPERNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> OPERNEWS LIST <br /> RANDOMNEWS ADD '''<ins>text</ins>''' <br /> RANDOMNEWS DEL {'''ALL''' or '''<ins>num</ins>'''} <br /> RANDOMNEWS LIST
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
9461fa35b3163aaf36017d6caf57d5994ef9217c
795
793
2014-05-08T21:39:58Z
Azander
9
/* OperServ -- updated MODLOAD / MODRELOAD / MODUNLOAD syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODLOAD <br /> MODRELOAD <br /> MODUNLOAD || Load or Unload modules || MODLOAD '''<ins>modname</ins>''' <br /> MODRELOAD '''<ins>modname</ins>''' <br /> MODUNLOAD '''<ins>modname</ins>'''
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
579ad5d9602c46d34d7b1b4929fd914ab131be3c
793
791
2014-05-08T21:31:54Z
Azander
9
/* OperServ -- updated MODINFO / MODLIST syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO <br /> MODLIST || Info about a loaded module || MODINFO '''<ins>modname</ins>''' <br /> MODLIST ['''all''' or '''third''' or '''vendor''' or '''extra''' or '''database''' or '''encryption''' or '''pseudoclient''' or '''protocol''']
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODULE || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
5d50d502a848c2e80ce9964cffec019b9b1c34f7
791
790
2014-05-08T21:25:47Z
Azander
9
/* OperServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODULE || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
b32a4680adac0509a6f9029d239460b9e2473571
790
788
2014-05-08T21:25:26Z
Azander
9
/* OperServ -- updated mode syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes || MODE '''<ins>#channel</ins>''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel,/ins>''' '''CLEAR''' ['''ALL''']
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODULE || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
8d7db65a49df7867dab7ce42cc005dd546a725f8
788
786
2014-05-08T21:18:29Z
Azander
9
/* OperServ -- updated logsearch syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern || LOGSEARCH ['''<ins>+daysd</ins>'''] ['''<ins>+limitl</ins>'''] '''<ins>pattern</ins>'''
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODULE || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
24e6aff056157c733e8aaedb8ced27037a52f72f
786
784
2014-05-08T21:14:32Z
Azander
9
/* OperServ -- updated LOGIN / LOGOUT syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN <br /> LOGOUT || Login to OperServ || LOGIN '''<ins>password</ins>''' <br /> LOGOUT
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODULE || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
960155313cc22d36b4e16b35003db3a936bc291a
784
782
2014-05-08T21:09:37Z
Azander
9
/* OperServ -- updated CHANLIST / USERLIST syntax, added commands to each line */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || AKILL || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || CHANKILL || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || CONFIG || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || DEFCON || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || DNS || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || FORBID || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || IGNORE || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || INFO || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || JUPE || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || KICK || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || KILL || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || CHANLIST <br /> USERLIST || List all users or channels on the network || CHANLIST [{'''<ins>pattern</ins>''' or '''<ins>nick</ins>'''} ['''SECRET'''] ] <br /> USERLIST [{'''<ins>pattern</ins>''' or '''<ins>#channel</ins>'''} ['''INVISIBLE'''] ]
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || LOGIN || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || LOGSEARCH || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || MODE || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || MODINFO || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || MODULE || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || NEWS || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || NOOP || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || OLINE || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || OPER|| View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || RELOAD || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || SESSION || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || SET || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || SHUTDOWN || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || STATS || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || SVS || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || SNLINE <br/> SQLINE... || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || UPDATE || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
61f6ad55b0ddb4f86ee8e1b62103e766af898f47
782
780
2014-05-08T20:51:17Z
Azander
9
/* OperServ -- updated KILL syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user || KILL '''<ins>user</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
2a9385ac6c065b426f7b6db35e895ba0554905c4
780
779
2014-05-08T20:40:09Z
Azander
9
/* OperServ -- updated KICK syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel || KICK '''<ins>channel</ins>''' '''<ins>user</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
2f907b536677d32774a9aa122b2eb8f4b968b237
779
778
2014-05-08T20:34:22Z
Azander
9
/* OperServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server || JUPE '''<ins>server</ins>''' ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
f54ad23f46e070f8d9661398db529661da127512
778
775
2014-05-08T20:33:59Z
Azander
9
/* OperServ -- updated jupe syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server || JUPE '''<ins>server</ins>'''
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
01b7573791e0bd25f86f0d7f07f87b8f2d21aa51
775
773
2014-05-08T20:29:56Z
Azander
9
/* OperServ -- updated info syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel || INFO ADD '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO DEL '''<ins>target</ins>''' '''<ins>info</ins>''' <br /> INFO CLEAR '''<ins>target</ins>'''
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
b76ffb02d379ca2b385a84cb53494dd4bd65338f
773
771
2014-05-08T20:23:30Z
Azander
9
/* OperServ -- updated ignore syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list || IGNORE ADD '''<ins>expiry</ins>''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> IGNORE DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} <br /> IGNORE LIST <br /> IGNORE CLEAR
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
6485c06a45d5de7dd8f4def456db5c76b3d58c4a
771
767
2014-05-08T20:16:23Z
Azander
9
/* OperServ -- updated dorbid syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails || FORBID ADD {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} ['''<ins>+expiry</ins>'''] '''<ins>entry</ins>''' '''<ins>reason</ins>''' <br /> FORBID DEL {'''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER'''} '''<ins>entry</ins>''' <br /> FORBID LIST ['''NICK''' or '''CHAN''' or '''EMAIL''' or '''REGISTER''']
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
0a7b2f9ca19ec35d0cf79a7a213f1a6f6e9f602f
767
765
2014-05-08T20:00:08Z
Azander
9
/* OperServ -- updated DNS syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server || DNS ADDZONE '''<ins>zone.name</ins>''' <br /> DNS DELZONE '''<ins>zone.name</ins>''' <br /> DNS ADDSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS DELSERVER '''<ins>server.name</ins>''' ['''<ins>zone.name</ins>'''] <br /> DNS ADDIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS DELIP '''<ins>server.name</ins>''' '''<ins>ip.address</ins>''' <br /> DNS SET '''<ins>server.name</ins>''' '''<ins>option</ins>''' '''<ins>value</ins>''' <br /> DNS POOL '''<ins>server.name</ins>''' <br /> DNS DEPOOL '''<ins>server.name</ins>'''
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
b295fc38159db2c47984c8e85a6fe7374b5f7251
765
763
2014-05-08T19:48:46Z
Azander
9
/* OperServ -- updated defcon syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system || DEFCON ['''1''' or '''2''' or '''3''' or '''4''' or '''5''']
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
5ae203ae1f1550f3342e3dd7aafc26a654f24a13
763
761
2014-05-08T19:43:52Z
Azander
9
/* OperServ -- updated CONFIG syntax*/
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings || CONFIG {'''MODIFY''' or '''VIEW'''} ['''<ins>block name</ins>''' '''<ins>item name</ins>''' '''<ins>item value</ins>''']
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
591a05d069966e2b5b3c4025680258ab63046080
761
759
2014-05-08T19:40:46Z
Azander
9
/* OperServ -- updated chankill syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel || CHANKILL ['''<ins>+expiry</ins>'''] '''<ins>#channel</ins>''' '''<ins>reason</ins>'''
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
cd0551dd15848b0c2cec964827902e74ebc21024
759
758
2014-05-08T19:33:22Z
Azander
9
/* OperServ -- updated akill syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list || AKILL ADD ['''<ins>+expiry</ins>'''] '''<ins>mask</ins>''' '''<ins>reason</ins>''' <br /> AKILL DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''} <br /> AKILL LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>''' or '''<ins>id</ins>'''] <br /> AKILL CLEAR
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
3d048194297c9401d381d52793c0b77437261ef1
758
756
2014-05-08T19:25:52Z
Azander
9
/* Pseudoclients */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Pseudoclient<br><br> || Default Client Name || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
4987985aa34fdb1349475d26f2db113b0bc0da4d
756
754
2014-05-08T19:22:56Z
Azander
9
/* HostServ -- updated the SET / SETALL syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests || WAITING
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user || SET '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|-
| SETALL || Set the vhost for all nicks in a group || SETALL '''<ins>nick</ins>''' '''<ins>hostmask</ins>'''
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
75c6dfab8e45e79c9fec17fc26b8f22edbbcd0f9
754
753
2014-05-08T19:18:08Z
Azander
9
/* HostServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE '''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
2f07c8da15f0d084229e1150c9c5a727f7ba0081
753
752
2014-05-08T19:17:54Z
Azander
9
/* HostServ -- updated the ACTIVATE/REJECT/REQUEST/WAITING syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user || ACTIVATE ''<ins>nick</ins>'''
|-
| REJECT || Reject the requested vHost of a user || REJECT '''<ins>nick</ins>''' ['''<ins>reason</ins>''']
|-
| REQUEST || Request a vHost for your nick || REQUEST '''<ins>virtual-host</ins>'''
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
3dd7c0ea49d48d00180715651ba8a7e2b6808679
752
749
2014-05-08T19:07:57Z
Azander
9
/* HostServ -- updated the ON syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost || ON
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
24f00d63f368eab6fdfd45ab5466d875da9d739f
749
747
2014-05-08T19:05:59Z
Azander
9
/* HostServ -- updated the OFF syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost || OFF
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
5e5e26cb704187510ac4800cf7dbfdf3860dc83c
747
746
2014-05-08T18:58:39Z
Azander
9
/* HostServ -- updated the LIST syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries || LIST ['''<ins>key</ins>''' or '''<ins>#X-Y</ins>''']
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
9d4d2516e6ae5360b3ce906124785cd461e35406
746
744
2014-05-08T18:54:31Z
Azander
9
/* HostServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group || GROUP
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
2e0431cf8ef348d8d96562b4fecbeaea50831e59
744
741
2014-05-08T18:50:46Z
Azander
9
/* HostServ -- updated the DEL sysntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user || DEL '''<ins>nick</inc>'''
|-
| DELALL || Delete the vhost for all nicks in a group || DELLALL '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
92ec903e433271bbcbc0dd9d48c61029949ccb4f
741
738
2014-05-08T16:39:38Z
Azander
9
/* MemoServ -- update STAFF syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins || STAFF '''<ins>memo-text</ins>'''
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
d4dca793577cac26f62880cd9eb666b6ad569a13
738
736
2014-05-08T16:26:06Z
Azander
9
/* MemoServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos || SET '''<ins>option</ins>''' '''<ins>parameters</ins>'''
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
9cee156f92d58504a6bbb087cadf18427a6c6fe3
736
734
2014-05-08T16:22:32Z
Azander
9
/* MemoServ -- update SENDALL syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users || SENDALL '''<ins>memo-text</ins>'''
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
a77f69f7deb932e072db94d8ca60d7ac5b2a3bf3
734
731
2014-05-08T16:18:26Z
Azander
9
/* MemoServ -- update SEND syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || RSEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
b5a006a91e7e7ed8d2466c8cfd2dfa9f4d601d90
731
729
2014-05-08T16:04:08Z
Azander
9
/* MemoServ -- update READ syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos || READ ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''NEW'''}
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
b4226aa9a989c4cc9a69d6d743e4002839a06a66
729
727
2014-05-08T16:00:59Z
Azander
9
/* MemoServ -- update LIST syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos || LIST ['''<ins>#channel</ins>'''] ['''<ins>list</ins>''' or '''NEW''']
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
eb5697f02558c968b4b26e2eb9cf2156f04df734
727
726
2014-05-08T15:57:27Z
Azander
9
/* MemoServ -- updated INFO syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos || INFO ['''<ins>nick</ins>''' or '''<ins>#channel</ins>''']
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
43933d5397a911917c25e40d6a14f9273537ce91
726
723
2014-05-08T15:55:37Z
Azander
9
/* MemoServ -- updated IGNORE syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list || IGNORE ['''<ins>#channel</ins>'''] ADD '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] DEL '''<ins>entry</ins>''' <br /> IGNORE ['''<ins>#channel</ins>'''] LIST
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
2c7d85f87fc801ce9b481eee0de9f313fcb4bfee
723
722
2014-05-08T15:49:00Z
Azander
9
/* MemoServ -- updated DEL syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos || DEL ['''<ins>#channel</ins>'''] {'''<ins>num</ins>''' or '''<ins>list</ins>''' or '''LAST''' or '''ALL'''}
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
32920ac5a808147fb769e79311ef2b1ee9c61c95
722
720
2014-05-08T15:47:03Z
Azander
9
/* MemoServ -- updated CHECK syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read || CHECK '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
e79fcbb4fd84aa4b29ce0df63df36efa45682a81
720
717
2014-05-08T15:44:51Z
Azander
9
/* MemoServ -- updated CANCEL syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent || CANCEL {'''<ins>nick</ins>''' or '''<ins>#channel</ins>'''}
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
1ab33e309fecd11d95ea5c91e7176475388cb8f3
717
716
2014-05-08T10:22:41Z
Dukepyrolator
4
/* Protocol */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charybdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
733347a0184d13673f402e21a3aea1f5ad9d533e
716
715
2014-05-08T10:20:52Z
Dukepyrolator
4
/* Protocol */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/bahamut|bahamut]] ||
|-
| id="f" | [[2.0/Modules/charybdis|charbdis]] ||
|-
| id="f" | [[2.0/Modules/inspircd12|inspircd12]] ||
|-
| id="f" | [[2.0/Modules/inspircd20|inspircd20]] ||
|-
| id="f" | [[2.0/Modules/ngircd|ngircd]] ||
|-
| id="f" | [[2.0/Modules/plexus|plexus]] ||
|-
| id="f" | [[2.0/Modules/ratbox|ratbox]] ||
|-
| id="f" | [[2.0/Modules/unreal|unreal]] ||
|-
|}
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
23b3bfd4f80c0ef25999d05956dbb065c51145ed
715
714
2014-05-07T21:36:32Z
Azander
9
/* OperServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || Manipulate the AKILL list ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || AKILL all users on a specific channel ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || View and change configuration file settings ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || Manipulate the DefCon system ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || Manuipulate the DNS Server ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || Forbid usage of nicknames, channels, and emails ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || Modify the Services ignore list ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || Associate oper info with a nick or channel ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || "Jupiter" a server ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || Kick a user from a channel ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || Kill a user ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || List all users or channels on the network ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || Login to OperServ ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || Searches logs for a matching pattern ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || Change channel modes ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || Info about a loaded module ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || Load or Unload modules ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || Define messages to be shown to users who oper ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || Remove all operators from a server remotely ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || Give Operflags to a certain user ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || View and change Services Operators ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || Reload services' configuration file ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || View the list of host sessions ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || Set various global Services options ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || Terminate services with save ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || Show status of Services and networ ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || Forcibly alter user's nick/channel ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || Manipulate the SxLINE list ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || Force the Services databases to be updated immediately ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
f0e0746f9a8a977ac260708fa693e8c3c0f45655
714
713
2014-05-07T21:33:48Z
Azander
9
/* OperServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || Manipulate the AKILL list || ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || AKILL all users on a specific channel || ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || View and change configuration file settings || ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || Manipulate the DefCon system || ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || Manuipulate the DNS Server || ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || Forbid usage of nicknames, channels, and emails || ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || Modify the Services ignore list || ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || Associate oper info with a nick or channel || ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || "Jupiter" a server || ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || Kick a user from a channel || ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || Kill a user || ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || List all users or channels on the network || ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || Login to OperServ || ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || Searches logs for a matching pattern || ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || Change channel modes || ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || Info about a loaded module || ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || Load or Unload modules || ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || Define messages to be shown to users who oper || ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || Remove all operators from a server remotely || ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || Give Operflags to a certain user || ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || View and change Services Operators || ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || Reload services' configuration file || ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || View the list of host sessions || ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || Set various global Services options || ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || Terminate services with save || ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || Show status of Services and networ || ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || Forcibly alter user's nick/channel || ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || Manipulate the SxLINE list || ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || Force the Services databases to be updated immediately || ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
6c04464826dede8c05771449acd867989c56f92d
713
712
2014-05-07T21:25:11Z
Azander
9
/* OperServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/os_akill|os_akill]] || || ||
|-
| id="f" | [[2.0/Modules/os_chankill|os_chankill]] || || ||
|-
| id="f" | [[2.0/Modules/os_config|os_config]] || || ||
|-
| id="f" | [[2.0/Modules/os_defcon|os_defcon]] || || ||
|-
| id="f" | [[2.0/Modules/os_dns|os_dns]] || || ||
|-
| id="f" | [[2.0/Modules/os_forbid|os_forbid]] || || ||
|-
| id="f" | [[2.0/Modules/os_ignore|os_ignore]] || || ||
|-
| id="f" | [[2.0/Modules/os_info|os_info]] || || ||
|-
| id="f" | [[2.0/Modules/os_jupe|os_jupe]] || || ||
|-
| id="f" | [[2.0/Modules/os_kick|os_kick]] || || ||
|-
| id="f" | [[2.0/Modules/os_kill|os_kill]] || || ||
|-
| id="f" | [[2.0/Modules/os_list|os_list]] || || ||
|-
| id="f" | [[2.0/Modules/os_login|os_login]] || || ||
|-
| id="f" | [[2.0/Modules/os_logsearch|os_logsearch]] || || ||
|-
| id="f" | [[2.0/Modules/os_mode|os_mode]] || || ||
|-
| id="f" | [[2.0/Modules/os_modinfo|os_modinfo]] || || ||
|-
| id="f" | [[2.0/Modules/os_module|os_module]] || || ||
|-
| id="f" | [[2.0/Modules/os_news|os_news]] || || ||
|-
| id="f" | [[2.0/Modules/os_noop|os_noop]] || || ||
|-
| id="f" | [[2.0/Modules/os_oline|os_oline]] || || ||
|-
| id="f" | [[2.0/Modules/os_oper|os_oper]] || || ||
|-
| id="f" | [[2.0/Modules/os_reload|os_reload]] || || ||
|-
| id="f" | [[2.0/Modules/os_session|os_session]] || || ||
|-
| id="f" | [[2.0/Modules/os_set|os_set]] || || ||
|-
| id="f" | [[2.0/Modules/os_shutdown|os_shutdown]] || || ||
|-
| id="f" | [[2.0/Modules/os_stats|os_stats]] || || ||
|-
| id="f" | [[2.0/Modules/os_svs|os_svs]] || || ||
|-
| id="f" | [[2.0/Modules/os_sxline|os_sxline]] || || ||
|-
| id="f" | [[2.0/Modules/os_update|os_update]] || || ||
|-
|}
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
97e8777949d43c5c6c012eb37a7d31ae38203ab6
712
711
2014-05-07T21:14:40Z
Azander
9
/* BotServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK AMSG '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
d63f8998ec75643f19e74619a492cc8c06a3d0b9
711
710
2014-05-07T21:14:12Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' ADD {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' DEL {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' VIEW ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' ENFORCE <br /> AKICK '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' ADD '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' DEL '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' LIST <br /> ENTRYMSG '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' MODIFY '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' {'''<ins>nick</ins> or <ins>mask</ins>'''}
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' ['''<ins>SUSPENDED</ins>'''] ['''<ins>NOEXPIRE</ins>''']
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' LOCK {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' SET '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' CLEAR <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' ['''<ins>user</ins>''']
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || TOPIC || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' SET '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' APPEND '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
750c389a22b5814342a219512e4f0a3d5b83388b
710
709
2014-05-07T21:07:53Z
Azander
9
/* NickServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br /> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br /> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br /> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT ADD [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT DEL [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br />CERT LIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
a0a6e03829924e35491e43d3df36ca342d4fef23
709
708
2014-05-07T20:42:40Z
Azander
9
/* BotServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
6c9f82b03491736ae6d99144d26f4da38f29d71c
708
707
2014-05-07T20:41:21Z
Azander
9
/* BotServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/bs_fantasy|bs_fantasy]] || || Used for enabling or disabling BotServ's fantasist commands. ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
d63c0d11ec8dec62d7339f0853968c99f1f01e24
707
701
2014-05-07T20:40:02Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_updown|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/bs_greet|bs_greet]] || || Used for changing a users greet message, which is displayed when they enter channels. ||
|-
| id="f" | [[2.0/Modules/bs_fantasy|bs_fantasy]] || || Used for enabling or disabling BotServ's fantasist commands. ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
9415bdac622b993a2e9ce72a2474d18d8aaa6976
701
700
2014-05-07T20:24:17Z
Azander
9
/* BotServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/bs_greet|bs_greet]] || || Used for changing a users greet message, which is displayed when they enter channels. ||
|-
| id="f" | [[2.0/Modules/bs_fantasy|bs_fantasy]] || || Used for enabling or disabling BotServ's fantasist commands. ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
abe6c63c4516f2f6fde3dbf91046507680a7e46b
700
699
2014-05-07T20:24:00Z
Azander
9
/* BotServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/bs_greet|bs_greet]] || || Used for changing a users greet message, which is displayed when they enter channels. ||
|-
| if="f" | [[2.0/Modules/bs_fantasy|bs_fantasy]] || || Used for enabling or disabling BotServ's fantasist commands. ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
f8d00d48662a56406e039007ba8910916dd18ef2
699
697
2014-05-07T20:23:38Z
Azander
9
/* BotServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/bs_greet|bs_greet]] || || Used for changing a users greet message, which is displayed when they enter channels. ||
|-
| if="f" | [[2.0/Modules/bs_fantasy|bs_fantasy]] || || Used for enabling or disabling BotServ's fantasist commands. ||
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
5018145d62d9c7f982a5493c703f62e5fbb5a749
697
695
2014-05-07T20:20:24Z
Azander
9
/* BotServ -- added bs_greet */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/bs_greet|bs_greet]] || || Used for changing a users greet message, which is displayed when they enter channels. ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
b9f587f204c21bbc649e456341fea0cd6dbcbf54
695
694
2014-05-07T20:11:34Z
Azander
9
/* BotServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''']
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
02ce8a0e0948332fb73748b150106affa89b2699
694
691
2014-05-07T20:08:48Z
Azander
9
/* BotServ -- updated KICK syntax*/
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers || KICK '''AMSG''' '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BADWORDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK BOLDS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK CAPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>min</ins>''' ['''<ins>percent</ins>'''] ] ] <br /> KICK COLORS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK FLOOD '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>ln</ins>''' ['''<ins>secs</ins>'''] ] ] <br /> KICK ITALICS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK REPEAT '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>''' ['''<ins>num</ins>'''] ] <br /> KICK REVERSES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK UNDERLINES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} ['''<ins>tbb</ins>'''] <br /> KICK DONTKICKOPS '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''} <br /> KICK DONTKICKVOICES '''<ins>#channel</ins>''' {'''ON''' or '''OFF'''}
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
50c2d124e9da13fb1120bbe7610674ec7b13ac7a
691
686
2014-05-07T19:41:18Z
Azander
9
/* BotServ -- updated INFO syntax*/
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot || INFO {'''<ins>#channel</ins>''' or '''<ins>nick</ins>'''}
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
e849fec3b87ebd0fbdc0de93f7d3f9269a62c3a8
686
683
2014-05-07T19:37:07Z
Azander
9
/* BotServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots || BOTLIST
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
2a8608181fe301920a256326502be8897362c1ec
683
681
2014-05-07T19:31:04Z
Azander
9
/* BotServ -- updated BOS syntax*/
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list || BOT '''ADD''' '''<ins>nick</ins>''' '''<ins>user</ins>''' '''<ins>host</ins>''' '''<ins>real</ins>''' <br /> BOT '''CHANGE''' '''<ins>oldnick</ins>''' '''<ins>newnick</ins>''' ['''<ins>user</ins>''' ['''<ins>host</ins>''' ['''<ins>real</ins>'''] ] ] <br /> BOT '''DEL''' '''<ins>nick</ins>'''
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
22cb49f4919f0ca1f4da2e677aaea3c94d217cd3
681
680
2014-05-07T19:16:00Z
Azander
9
/* BotServ -- updated BASWORDS syntax*/
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list || BASWORDS '''<ins>#channel</ins>''' '''ADD''' '''<ins>word</ins>''' ['''SINGLE''' or '''START''' or '''END'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>word</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> BADWORDS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> BADWORDS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
6f92b41e3c37dfa2c2c324a642eb2b0db1a88846
680
679
2014-05-07T18:52:25Z
Azander
9
/* BotServ --fixed missing text for bs_botlist */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist|bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
e34aaf2810c715d6e3cdc8eddd55bb8d619183a5
679
677
2014-05-07T18:51:10Z
Azander
9
/* BotServ --updated assign and unassign syntax, updated set syntax. Fixed ASSIGN/UNASSIGN grouping */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel || ASSIGN '''<ins>#channel</ins>''' '''BotNick'''
|-
| UNASSIGN || Unassigns a bot from a channel || UNASSIGN '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options || SET '''<ins>options</ins>'''
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
2de9fe886af448db5d68d9d1e50b0eca28045b95
677
668
2014-05-07T18:30:27Z
Azander
9
/* BotServ -- updated act and say syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command || ACT '''<ins>#channel</ins>''' '''<ins>text</ins>'''
|-
| SAY || Makes the bot say the given text on the given channel || SAY '''<ins>#channel</ins>''' '''<ins>action</ins>'''
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
0f1114efcb65c943538e079e83acaf84ed03d249
668
667
2014-05-06T21:27:04Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_core]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
d02664b44218e361a730578b0377c75990f8f84f
667
663
2014-05-06T21:26:34Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_core|cs_]] || || Internal configuration and definitions. ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
f18ed6d858ab0a5443ce113278d2cae2574ac01f
663
661
2014-05-06T21:16:39Z
Azander
9
/* ChanServ -- added statusupdate */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|-
| id="f" | [[2.0/Modules/cs_statusupdate|cs_statusupdate]] || || Automatically updates users status on channels when the access list is modified ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
7671d944a6f02fd4b12213f819a2bc7c72ac2e63
661
659
2014-05-06T20:50:01Z
Azander
9
/* ChanServ -- updated xOP syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists || xOP '''<ins>#channel</ins>''' ADD '''<ins>mask</ins>''' <br /> xOP '''<ins>#channel</ins>''' DEL {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> xOP '''<ins>#channel</ins>''' LIST ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> xOP '''<ins>#channel</ins>''' CLEAR
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
66dae5e32727fd55490714ea47f7c0b8062b9263
659
658
2014-05-06T20:41:55Z
Azander
9
/* ChanServ -- updated up/down syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel || UP ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ] <br /> DOWN ['''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
ec44963c470643472693f9a493d01f8fa0ed38ab
658
656
2014-05-06T20:38:35Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_updown]] || UP <br /> DOWN || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
e5fb165f44312cbf72cc339d8ce55d9d51c4e3af
656
655
2014-05-06T20:24:47Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</ins>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</ins>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Remove all bans preventing a user from entering a channel || UNBAN '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
565333fa507bf7be48325270a2d214a1b78bf752
655
653
2014-05-06T20:18:34Z
Azander
9
/* ChanServ update Unban to it's own module, update TOPIC syntax*/
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</inc>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel || TOPIC '''<ins>#channel</inc>''' '''SET''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</inc>''' '''APPEND''' '''<ins>message</ins>''' <br /> TOPIC '''<ins>#channel</inc>''' {'''LOCK''' or '''UNLOCK'''}
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
a833f489f368bba0ed2c7c734f2ca1413bd4b030
653
651
2014-05-06T20:10:53Z
Azander
9
/* ChanServ -- updated sync syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes || SYNC '''<ins>#channel</inc>'''
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
88426bfc2bc4b60b6aa1c765c24b7f7b418baa20
651
646
2014-05-06T19:56:16Z
Azander
9
/* ChanServ -- updated suspend syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] ['''<ins>reason</ins>'''] <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
02905aea4ed67c1a0fa2b929ef61313403df5ccf
646
643
2014-05-06T19:00:06Z
Azander
9
/* ChanServ -- added cs_set_misc module to list */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set_misc|cs_set_misc]] || SET || Set channel options and information ||
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
4406598e7bad6367c299137576dff17a8ca5ab3c
643
641
2014-05-06T18:47:01Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_seen|cs_seen]] || || Provides the [[2.0/Modules#OperServ|OperServ]] statistics for '''seen''' users in a channel ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
04a9b570a4ab8c086c5e317fc3866a8619689841
641
639
2014-05-06T16:53:00Z
Azander
9
/* ChanServ -- updated Mode, Op, Owner, Protect, Halfop, Voice syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE <br /> OWNER <br /> DEOWNER <br /> PROTECT <br /> DEPROTECT <br /> OP <br /> DEOP <br /> HALFOP <br /> DEHALFOP <br /> VOICE <br /> DEVOICE || Control modes and mode locks on a channel || MODE '''<ins>#channel</ins>''' '''LOCK''' {'''ADD''' or '''DEL''' or '''SET''' or '''LIST'''} ['''<ins>what</ins>'''] <br /> MODE '''<ins>#channel</ins>''' '''SET''' '''<ins>modes</ins>''' <br /> MODE '''<ins>#channel</ins>''' '''CLEAR''' <br /> OWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOWNER '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> PROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEPROTECT '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> OP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> HALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEHALFOP '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> VOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>'''] <br /> DEVOICE '''<ins>#channel</ins>''' ['''<ins>nick</ins>''']
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
8acdc833568e0643a7f58e69f3e2c81788513a85
639
631
2014-05-06T16:24:54Z
Azander
9
/* ChanServ -- updated Log syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings || LOG '''<ins>#channel</ins>''' ['''<ins>command</ins>''' '''<ins>method</ins>''' ['''<ins>status</ins>'''] ]
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
49c86183662fa2131342bad55eadb7bff2fa446c
631
629
2014-05-06T15:50:40Z
Azander
9
/* ChanServ -- updated entrymsg syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages || ENTRYMSG '''<ins>#channel</ins>''' '''ADD''' '''<ins>message</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''DEL''' '''<ins>num</ins>''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''LIST''' <br /> ENTRYMSG '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
8fdf2f8a0372d8f1ff0d144136b2e676cc86eadd
629
625
2014-05-06T15:42:56Z
Azander
9
/* ChanServ -- updated enforce syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options || ENFORCE '''<ins>#channel</ins>''' '''<ins>what</ins>'''
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages ||
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
ec308df38f305ff2f6fd1451cccaefd92147dc68
625
624
2014-05-06T15:30:32Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options ||
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages ||
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>#channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>#channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>#channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>#channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>#channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>#channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>#channel</ins>''' <br \> UNSUSPEND '''<ins>#channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
3f8a43d7c4a4b3d62e499657c29e8af7ae171f34
624
621
2014-05-06T15:28:45Z
Azander
9
/* ChanServ -- updated clone syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another || CLONE '''<ins>#channel</ins>''' '''<ins>#target</ins>''' ['''<ins>what</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options ||
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages ||
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>channel</ins>''' <br \> UNSUSPEND '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
5860a7530a6e34e93f90da250e0794725730735d
621
620
2014-05-06T15:18:18Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>#channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another ||
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options ||
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages ||
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>channel</ins>''' <br \> UNSUSPEND '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
2a3ecf1eeb23a16668820315a6a31763bcd79001
620
618
2014-05-06T15:17:19Z
Azander
9
/* ChanServ -- updated akick syntax*/
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list || AKICK '''<ins>#channel</ins>''' '''ADD''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''DEL''' {'''<ins>nick</ins>''' or '''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> AKICK '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''] <br /> AKICK '''<ins>#channel</ins>''' '''ENFORCE''' <br /> AKICK '''<ins>#channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another ||
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options ||
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages ||
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>channel</ins>''' <br \> UNSUSPEND '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
b2752b9f3cb552017a02cad82c36e7865a8fc1f8
618
613
2014-05-06T15:00:31Z
Azander
9
/* ChanServ updated Access syntax */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users || ACCESS '''<ins>#channel</ins>''' '''ADD''' '''<ins>mask</ins>''' '''<ins>level</ins>''' <br /> ACCESS '''<ins>#channel</ins>''' '''DEL''' {'''<ins>mask</ins>''' or '''<ins>entry-num</ins>''' or '''<ins>list</ins>'''} <br /> ACCESS '''<ins>#channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''VIEW''' ['''<ins>mask</ins>''' or '''<ins>list</ins>'''] <br /> ACCESS '''<ins>#channel</ins>''' '''CLEAR '''
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list ||
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another ||
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options ||
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages ||
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>channel</ins>''' <br \> UNSUSPEND '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
e2bac3a377d5a6d85e65ba61fd2a7dceccee294a
613
612
2014-05-06T14:25:50Z
Azander
9
/* ChanServ -- Moved Flags into own entry. Does similar to ACCESS but it is different */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS || Modify the list of privileged users ||
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list ||
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another ||
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options ||
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages ||
|-
| id="f" | [[2.0/Modules/cs_flags|cs_flags]] || FLAGS || Modify the list of privileged users || FLAGS '''<ins>channel</ins>''' '''MODIFY''' '''<ins>mask</ins>''' '''<ins>changes</ins>''' <br /> FLAGS '''<ins>channel</ins>''' '''LIST''' ['''<ins>mask</ins>''' or '''<ins>+flags</ins>'''] <br /> FLAGS '''<ins>channel</ins>''' '''CLEAR'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>channel</ins>''' <br \> UNSUSPEND '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
7423722f16cb0ed5caa1505fb9d7bb1e28cc003e
612
610
2014-05-06T14:20:56Z
Azander
9
/* NickServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS DEL ['''<ins>nickname</ins>'''] '''<ins>mask</ins>''' <br> ACCESS LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL ['''<ins>nickname</ins>'''] '''<ins>channel</ins>''' <br> AJOIN LIST ['''<ins>nickname</ins>''']
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS <br /> FLAGS|| Modify the list of privileged users ||
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list ||
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another ||
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options ||
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages ||
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>channel</ins>''' <br \> UNSUSPEND '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
db95e99b59e1e516018490a878b50076f77b9303
610
609
2014-05-05T22:08:39Z
Azander
9
/* Pseudoclients */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS <br /> FLAGS|| Modify the list of privileged users ||
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list ||
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another ||
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options ||
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages ||
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>channel</ins>''' <br \> UNSUSPEND '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
{| class="modules"
! <br>Module<br><br> || Service || Description
|-
| id="f" | [[2.0/Modules#NickServ|NickServ]] || NickServ || Nickname registration service
|-
| id="f" | [[2.0/Modules#ChanServ|ChanServ]] || ChanServ || Channel registration service
|-
| id="f" | [[2.0/Modules#BotServ|BotServ]] || BotServ || Bot management service
|-
| id="f" | [[2.0/Modules#MemoServ|MemoServ]] || MemoServ || Memo management service
|-
| id="f" | [[2.0/Modules#HostServ|HostServ]] || HostServ || vHost management service
|-
| id="f" | [[2.0/Modules#OperServ|OperServ]] || OperServ || Ircop assistant service
|}
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
9c33c5aec01e6715d1d8ae5e45286dfc6dce50b9
609
608
2014-05-05T22:02:20Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_access|cs_access]] || ACCESS <br /> FLAGS|| Modify the list of privileged users ||
|-
| id="f" | [[2.0/Modules/cs_akick|cs_akick]] || AKICK || Maintain the AutoKick list ||
|-
| id="f" | [[2.0/Modules/cs_xop|cs_xop]] || AOP <br /> HOP <br /> QOP <br /> SOP <br /> VOP|| Manage the channel xOP lists ||
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN <br /> UNBAN || Bans or nnbans a nick or hostmask from a channel || BAN '''<ins>channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_clone|cs_clone]] || CLONE || Copy all settings from one channel to another ||
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_down|cs_down]] || DOWN || Removes a selected nicks status from a channel ||
|-
| id="f" | [[2.0/Modules/cs_enforce|cs_enforce]] || ENFORCE || Enforce various channel modes and set options ||
|-
| id="f" | [[2.0/Modules/cs_entrymsg|cs_entrymsg]] || ENTRYMSG || Manage the channel's entry messages ||
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_halfop|cs_halfop]] || HALFOP <br /> DEHALFOP || Give or remove halfop status to a user ||
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_levels|cs_levels]] || LEVELS || Redefine the meanings of access levels ||
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_log|cs_log]] || LOG || Configures channel logging settings ||
|-
| id="f" | [[2.0/Modules/cs_mode|cs_mode]] || MODE || Control modes and mode locks on a channel ||
|-
| id="f" | [[2.0/Modules/cs_op|cs_op]] || OP <br \> DEOP || Give or remove channel operator status ||
|-
| id="f" | [[2.0/Modules/cs_owner|cs_owner]] || OWNER <br \> DEOWNER || Give or remove channel owner status ||
|-
| id="f" | [[2.0/Modules/cs_protected|cs_protect]] || PROTECT <br \> DEPROTECT || ||
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_set|cs_set]] || SET || Set channel options and information || SET '''<ins>channel</ins>''' '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_suspend|cs_suspend]] || SUSPEND <br \> UNSUSPEND || Prevents or releases a channel from being used preserving channel data and settings || SUSPEND '''<ins>channel</ins>''' <br \> UNSUSPEND '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_sync|cs_sync]] || SYNC || Sync users channel modes ||
|-
| id="f" | [[2.0/Modules/cs_topic|cs_topic]] || topic || Manipulate the topic of the specified channel ||
|-
| id="f" | [[2.0/Modules/cs_up|cs_up]] || UP || Updates a selected nicks status on a channel ||
|-
| id="f" | [[2.0/Modules/cs_voice|cs_voice]] || VOICE <br \> DEVOICE || Give or remove channel voice status ||
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
c861798e5f364c7fb668f2e340f2fba955606b4c
608
607
2014-05-05T21:31:13Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Tells chanserv to unban you or another user on a channel. || UNBAN '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
ccd08e1000ef1cc38fdd2b2511d5813e20c3b392
607
604
2014-05-05T21:30:50Z
Azander
9
/* ChanServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/cs_ban|cs_ban]] || BAN || Bans a nick or hostmask from a channel || BAN '''<ins>channel</ins>''' ['''<ins>+expiry</ins>'''] {'''<ins>nick</ins>''' or '''<ins>mask</ins>'''} ['''<ins>reason</ins>''']
|-
| id="f" | [[2.0/Modules/cs_drop|cs_drop]] || DROP || Unregisters the named channel || DROP '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_getkey|cs_getkey]] || GETKEY || Returns the key of the given channel || GETKEY '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_info|cs_info]] || INFO || Returns information about the given channel || INFO '''<ins>channel</ins>'''
|-
| id="f" | [[2.0/Modules/cs_invite|cs_invite]] || INVITE || Invites you or someone else into the channel || INVITE '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_kick|cs_kick]] || KICK || Kicks a specified nick or hostmask from the channel || KICK '''<ins>channel</ins>''' '''{<ins>nick</ins> or <ins>mask</ins>}'''
|-
| id="f" | [[2.0/Modules/cs_list|cs_list]] || LIST || Give you a list of channels based on the pattern given || LIST '''<ins>pattern</ins>''' '''[<ins>SUSPENDED</ins>]''' '''[<ins>NOEXPIRE</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_register|cs_register]] || REGISTER || Registers a channel || REGISTER '''<ins>channel</ins>''' '''<ins>description</ins>'''
|-
| id="f" | [[2.0/Modules/cs_status|cs_status]] || STATUS || Tells you the users access on a channel || STATUS '''<ins>channel</ins>''' '''[<ins>user</ins>]'''
|-
| id="f" | [[2.0/Modules/cs_unban|cs_unban]] || UNBAN || Tells chanserv to unban you or another user on a channel. || UNBAN '''<ins>channel</ins>''' '''[<ins>nick</ins>]'''
|}
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
fa8c13e7a5ac284909810748a827516b01d31a4a
604
598
2014-05-05T16:47:53Z
Azander
9
/* NickServ Updated syntax column*/
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || Returns the matching nicks that used given email || GETEMAIL <ins>'''email'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || Returns the password for the given nickname || GETPASS <ins>'''nickname'''</ins>
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout]] || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE || RELEASE '''nickname''' [<ins>'''password'''</ins>]
|-
| | GHOST || GHOST '''nickname''' [<ins>'''password'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection. || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || SET || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info || SET '''<ins>options</ins>'''
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname || STATUS '''<ins>nickname</ins>'''
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || | SUSPEND '''<ins>nickanme</ins>'''
|-
| | UNSUSPEND || UNSUSPEND '''<ins>nickname</ins>'''
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos || UPDATE
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
066879ee5cf403aa8a59f82f063f37b0e75af2c6
598
597
2014-05-05T16:05:24Z
Azander
9
/* NickServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Un-Suspens a registered nickname, which prevents/allows it to be used || rowspan=2 |
|-
| | UNSUSPEND
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
48d85ad6cce25c32a1285051b6376f753c85602a
597
593
2014-05-05T16:04:51Z
Azander
9
/* NickServ : Added Unsuspend to the suspend module description */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || rowspan=2 | Suspends or Unsyspens a registered nickname, which prevents/allows it to be used || rowspan=2 |
|-
| | UNSUSPEND
|-
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
120648ab46dfe85024fe70a86109ec435e5bd449
593
592
2014-05-05T01:22:14Z
Azander
9
/* NickServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_misc|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
bfac535c48b4a626360be18cb695f7b66799e86d
592
589
2014-05-05T01:21:38Z
Azander
9
/* NickServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_misv|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
89d0217d868cd404494e12291d31d5e005c6a8f7
589
585
2014-05-05T01:19:06Z
Azander
9
/* NickServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE'''] ]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_mist|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
4f6d3eab80f983afbe7a08e0b469c973663f2819
585
486
2014-05-05T00:11:23Z
Azander
9
/* NickServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE''']]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords || RESETPASS '''<ins>Nickname</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_mist|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
93c45f009d72f0d34c2597851fd505cb8fc85756
486
485
2013-12-01T12:45:20Z
Dukepyrolator
4
/* Encryption */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE''']]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords ||
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_mist|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
{| class="modules"
! <br>Module<br><br> || Description
|-
| id="f" | [[2.0/Modules/enc_md5|enc_md5]] || One-way encryption MD5
|-
| id="f" | [[2.0/Modules/enc_none|enc_none]] || For plain text passwords
|-
| id="f" | [[2.0/Modules/enc_old|enc_old]] || Database compatibility with broken MD5 passwords prior anope 1.7.17
|-
| id="f" | [[2.0/Modules/enc_sha1|enc_sha1]] || One-way encryption SHA1
|-
| id="f" | [[2.0/Modules/enc_sha256|enc_sha256]] || One-way encryption SHA256 with random initialization vector
|-
|}
== Database ==
== Extra Modules ==
== Stats Modules ==
1ec1d1fb1cd077420a7bac5bf1944943d4871df8
485
484
2013-12-01T11:51:32Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE''']]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords ||
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_mist|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
fb40e36f841b54c1cd905ebb2b8920af4f6703a0
484
483
2013-12-01T11:49:26Z
Dukepyrolator
4
/* MemoServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" rowspan=2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE''']]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords ||
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_mist|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ms_cancel|ms_cancel]] || CANCEL || Cancel the last memo you sent ||
|-
| id="f" | [[2.0/Modules/ms_check|ms_check]] || CHECK || Checks if last memo to a nick was read ||
|-
| id="f" | [[2.0/Modules/ms_del|ms_del]] || DEL || Delete a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_ignore|ms_ignore]] || IGNORE || Manage the memo ignore list ||
|-
| id="f" | [[2.0/Modules/ms_info|ms_info]] || INFO || Displays information about your memos ||
|-
| id="f" | [[2.0/Modules/ms_list|ms_list]] || LIST || List your memos ||
|-
| id="f" | [[2.0/Modules/ms_read|ms_read]] || READ || Read a memo or memos ||
|-
| id="f" | [[2.0/Modules/ms_rsend|ms_rsend]] || RSEND || Sends a memo and requests a read receipt || SEND [<ins>'''nick'''</ins> / <ins>'''channel'''</ins>] <ins>'''memo-text'''</ins>
|-
| id="f" | [[2.0/Modules/ms_send|ms_send]] || SEND || Send a memo to a nick or channel ||
|-
| id="f" | [[2.0/Modules/ms_sendall|ms_sendall]] || SENDALL || Send a memo to all registered users ||
|-
| id="f" | [[2.0/Modules/ms_set|ms_set]] || SET || Set options related to memos ||
|-
| id="f" | [[2.0/Modules/ms_staff|ms_staff]] || STAFF || Send a memo to all opers/admins ||
|-
|}
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
6ac62ca082415aa1ecc0a86a2224628e5b713247
483
482
2013-12-01T11:32:01Z
Dukepyrolator
4
/* BotServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" rowspan=2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE''']]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords ||
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_mist|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/bs_control|bs_control]] || ACT || Makes the bot do the equivalent of a "/me" command ||
|-
| SAY || Makes the bot say the given text on the given channel ||
|-
| id="f" | [[2.0/Modules/bs_assign|bs_assign]] || ASSIGN || Assigns a bot to a channel ||
|-
| id="f" | [[2.0/Modules/bs_badwords|bs_badwords]] || BADWORDS || Maintains the bad words list ||
|-
| id="f" | [[2.0/Modules/bs_bot|bs_bot]] || BOT || Maintains network bot list ||
|-
| id="f" | [[2.0/Modules/bs_botlist]] || BOTLIST || Lists available bots ||
|-
| id="f" | [[2.0/Modules/bs_info|bs_info]] || INFO || Allows you to see BotServ information about a channel or a bot ||
|-
| id="f" | [[2.0/Modules/bs_kick|bs_kick]] || KICK || Configures kickers ||
|-
| id="f" | [[2.0/Modules/bs_set|bs_set]] || SET || Configures bot options ||
|-
| id="f" | [[2.0/Modules/bs_unassign|bs_unassign]] || UNASSIGN || Unassigns a bot from a channel ||
|-
|}
=== MemoServ ===
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
16895e6ec490134d659486f1088ca3b002a7a97a
482
481
2013-11-28T03:45:22Z
Dukepyrolator
4
/* HostServ */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" rowspan=2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE''']]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords ||
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_mist|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_del|hs_del]] || DEL || Delete the vhost of another user ||
|-
| DELALL || Delete the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_group|hs_group]] || GROUP || Syncs the vhost for all nicks in a group ||
|-
| id="f" | [[2.0/Modules/hs_list|hs_list]] || LIST || Displays one or more vhost entries ||
|-
| id="f" | [[2.0/Modules/hs_off|hs_off]] || OFF || Deactivates your assigned vhost ||
|-
| id="f" | [[2.0/Modules/hs_on|hs_on]] || ON || Activates your assigned vhost ||
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|-
| id="f" rowspan=2 | [[2.0/Modules/hs_set|hs_set]] || SET || Set the vhost of another user ||
|-
| SETALL || Set the vhost for all nicks in a group ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
1ecf6ac6af8737d601a426721d01c06064d60b20
481
480
2013-11-28T03:34:41Z
Dukepyrolator
4
/* Commands */
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" rowspan=2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE''']]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords ||
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_mist|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" rowspan=4 | [[2.0/Modules/hs_request|hs_request]] || ACTIVATE || Approve the requested vHost of a user ||
|-
| REJECT || Reject the requested vHost of a user ||
|-
| REQUEST || Request a vHost for your nick ||
|-
| WAITING || Retrieves the vhost requests ||
|}
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
6932f304f0bf04943f1b4f02e02cc872242f788c
480
479
2013-11-28T03:17:27Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Language|2.0/Modules}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" rowspan=2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE''']]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords ||
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_mist|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
3b6a8f0e6702e93b4771143512c7ef5a0de712b1
479
478
2013-11-28T03:16:16Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
{{Language}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" rowspan=2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE''']]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | RECOVER '''nickname''' [<ins>'''password'''</ins>]
|-
| | RELEASE
|-
| | GHOST
|-
| id="f" | [[2.0/Modules/ns_register|ns_register]] || REGISTER || Register a nickname || REGISTER '''<ins>password</ins> <ins>email</ins>'''
|-
| id="f" | [[2.0/Modules/ns_resetpass|ns_resetpass]] || RESETPASS || Helps you reset lost passwords ||
|-
| id="f" | [[2.0/Modules/ns_set|ns_set]] || SET || Set options, including kill protection ||
|-
| id="f" | [[2.0/Modules/ns_set_mist|ns_set_misc]] || || Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info ||
|-
| id="f" | [[2.0/Modules/ns_status|ns_status]] || STATUS || Returns the owner status of the given nickname ||
|-
| id="f" | [[2.0/Modules/ns_suspend|ns_suspend]] || SUSPEND || Suspends a registered nickname, which prevents it from being used ||
|-
| id="f" | [[2.0/Modules/ns_update|ns_update]] || UPDATE || Updates your current status, i.e. it checks for new memos ||
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
59567ab809eb7881cf8ebea6af9888c5369f6ea4
478
476
2013-11-28T02:37:38Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
{{Language}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" rowspan=2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|-
| id="f" | [[2.0/Modules/ns_identify|ns_identify]] || IDENTIFY || Identify yourself with your password || IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins>
|-
| id="f" | [[2.0/Modules/ns_info|ns_info]] || INFO || displays information about a given nickname || INFO [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_logout|ns_logout || LOGOUT || Reverses the effect of the IDENTIFY command || LOGOUT [<ins>'''nickname'''</ins> ['''REVALIDATE''']]
|-
| id="f" rowspan=3 | [[2.0/Modules/ns_recover|ns_recover]] || RECOVER || rowspan=3 | Regains control of your nick || rowspan=3 | ||
|-
| | RELEASE
|-
| | GHOST
|-
|}
----
old version of the table
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
7729ded4aef019cfcf49e49a57018b83b70752d0
476
474
2013-11-25T12:49:23Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Language}}
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" rowspan=2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|}
----
old version of the table
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
25f163bceb4f4aaafa39f9cf970e0639c8b02fc8
474
473
2013-11-24T21:56:37Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
{| class="modules"
! <br>Module<br><br> || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" rowspan=2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|}
----
old version of the table
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
f3f8d36f1bd6c5e86b2a7546178fac69a4a119c1
473
472
2013-11-24T21:54:11Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
{| class="modules"
! Module || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/ns_access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" | [[2.0/Modules/ns_alist|ns_alist]] || ALIST || List channels you have access on || ALIST [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_cert|ns_cert]] || CERT || Modify the nickname client certificate list || CERT '''ADD''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''DEL''' [<ins>'''nickname'''</ins>] <ins>'''fingerprint'''</ins><br>CERT '''LIST''' [<ins>'''nickname'''</ins>]
|-
| id="f" | [[2.0/Modules/ns_confirm|ns_confirm]] || CONFIRM || Confirm a passcode || CONFIRM <ins>'''passcode'''</ins>
|-
| id="f" | [[2.0/Modules/ns_drop|ns_drop]] || DROP || Cancel the registration of a nickname || DROP <ins>'''nickname'''</ins>
|-
| id="f" | [[2.0/Modules/ns_getemail|ns_getemail]] || GETEMAIL || ||
|-
| id="f" | [[2.0/Modules/ns_getpass|ns_getpass]] || GETPASS || ||
|-
| id="f" rowspan=2 | [[2.0/Modules/ns_group|ns_group]] || GROUP || Join a group || GROUP <ins>'''target'''</ins> <ins>'''password'''</ins>
|-
| UNGROUP || Remove a nick from a group || UNGROUP [<ins>'''nick'''</ins>]
|-
| id="f" rowspan=2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|}
----
old version of the table
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
f2abd3ee9f57e6b960f519bbe1312d8580cd644c
472
451
2013-11-24T21:18:44Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
----
new version of the table (TODO: add a table class to [[MediaWiki:Common.css]] and make it look like the old table. )
{| class="modules"
! Module || Provided Commands || Description || Syntax
|-
| id="f" | [[2.0/Modules/access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| id="f" | [[2.0/Modules/ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
| id="f" rowspan= 2 | TestModule || Command 1 || Description 1 || Syntax 1
|-
| Command 2 || Description 2 || Syntax 2
|}
----
old version of the table (TODO: remove all table templates)
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
df1af5340193f880a93f3714fbaeb045a16785a8
451
450
2013-11-24T19:27:45Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
----
new version of the table (TODO: add a table class to [[MediaWiki:Common.css]] and make it look like the old table. )
{| class="modules-table"
| Module || | Provided Commands || Description || Syntax
|-
| [[2.0/Modules/access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| [[2.0/Modules/ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
|}
----
old version of the table (TODO: remove all table templates)
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
ea93a1cfbf906081dbbe98f24310046a65f5fe78
450
449
2013-11-24T19:27:30Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
----
new version of the table (TODO: add a table class to [[MediaWiki:Common.css]] and make it look like the old table. )
{| class="modules-table"
| Module || | Provided Commands || Description || Syntax
|-
| [[2.0/Modules/access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| [[2.0/Modules/ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
|}
----
old version of the table (TODO: remove all table templates)
{{Modules/Table/Header}}
{{test Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
8345faac710c50e97dadcf3baf1e040a5993b4dd
449
447
2013-11-24T19:27:07Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
----
new version of the table (TODO: add a table class to [[MediaWiki:Common.css]] and make it look like the old table. )
{| class="modules-table"
| Module || | Provided Commands || Description || Syntax
|-
| [[2.0/Modules/access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| [[2.0/Modules/ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
|}
----
old version of the table (TODO: remove all table templates)
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access test | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
1db411894865bc6174d5b9eabc97a54c2927f900
447
444
2013-11-20T19:15:07Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
----
new version of the table (TODO: add a table class to [[MediaWiki:Common.css]] and make it look like the old table. )
{| class="modules-table"
| Module || | Provided Commands || Description || Syntax
|-
| [[2.0/Modules/access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| [[2.0/Modules/ajoin|ns_ajoin]] || AJOIN || Manage your auto join list || AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname]
|-
|}
----
old version of the table (TODO: remove all table templates)
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
ea93a1cfbf906081dbbe98f24310046a65f5fe78
444
443
2013-11-20T08:32:23Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
----
new version of the table (TODO: add a table class to http://wiki2.anope.org/index.php/MediaWiki:Common.css and make it look like the old table. )
{| class="modules-table"
| Module || | Provided Commands || Description || Syntax
|-
| [[2.0/Modules/access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| test
|-
|}
----
old version of the table (TODO: remove all table templates)
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
8a6a4279f9ed15fdbe5c886dc92882061b35fdaa
443
442
2013-11-20T08:29:32Z
Dukepyrolator
4
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
----
new version of the table (TODO: add a table class to http://wiki2.anope.org/index.php/MediaWiki:Common.css )
{| class="modules-table"
| Module || | Provided Commands || Description || Syntax
|-
| [[2.0/Modules/access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| test
|-
|}
----
old version of the table (TODO: remove all table templates)
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
b1411b9544704c9b9092573fda2ab6382a3471bf
442
441
2013-11-20T08:27:41Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
----
new version of the table (TODO: add a table class to the css)
{| class="modules-table mw-collapsible mw-collapsed"
| Module || | Provided Commands || Description || Syntax
|-
| [[2.0/Modules/access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| test
|-
|}
----
old version of the table (TODO: remove all table templates)
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
79b09c91bf92787270a6a367e76ea22eec7f2e4b
441
440
2013-11-20T08:24:17Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
----
new version of the table (TODO: add a table class to the css)
{| class="modules-table"
| Module || | Provided Commands || Description || Syntax
|-
| [[2.0/Modules/access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| test
|-
|}
----
old version of the table (TODO: remove all table templates)
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
be0e29ee16339482268ff1b415da496aef331395
440
415
2013-11-20T08:23:30Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
----
new version of the table (TODO: add a table class to the css)
{|
| Module || | Provided Commands || Description || Syntax
|-
| [[2.0/Modules/access|ns_access]] || ACCESS || Modify the list of authorized addresses || ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname]
|-
| test
|-
|}
----
old version of the table (TODO: remove all table templates)
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
c7644fe7b5ae66fe14bc6a003e2305418476da3d
415
414
2013-11-18T19:26:52Z
Dukepyrolator
4
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
29534647f2ca54a6b600f2de80f592dc5034ab87
414
413
2013-11-18T19:26:11Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }} |}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
7cd04f7eb6b5ec378717682147b35be2c19ad6af
413
412
2013-11-18T19:25:26Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }}
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/suspend|ns_suspend | Suspends a registered nickname, which prevents it from being used | }}
{{Modules/Table/Row|2.0/Modules/update|ns_update | Updates your current status, i.e. it checks for new memos | }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
3e637b8fb1338c043187b33caf2e0c9a48ea4fbb
412
410
2013-11-18T19:19:19Z
Dukepyrolator
4
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/alist|ns_alist | List channels you have access on | ALIST [<ins>'''nickname'''</ins>] }}
{{Modules/Table/Row|2.0/Modules/cert|ns_cert | Modify the nickname client certificate list | }}
{{Modules/Table/Row|2.0/Modules/confirm|ns_confirm | Confirm a passcode | }}
{{Modules/Table/Row|2.0/Modules/drop|ns_drop | Cancel the registration of a nickname | }}
{{Modules/Table/Row|2.0/Modules/getemail|ns_getemail | | }}
{{Modules/Table/Row|2.0/Modules/getpass|ns_getpass | | }}
{{Modules/Table/Row|2.0/Modules/group|ns_group | Join a group | }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password | IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
{{Modules/Table/Row|2.0/Modules/info|ns_info | displays information about a given nickname | }}
{{Modules/Table/Row|2.0/Modules/logout|ns_logout |Reverses the effect of the IDENTIFY command | }}
{{Modules/Table/Row|2.0/Modules/recover|ns_recover | Regains control of your nick | }}
{{Modules/Table/Row|2.0/Modules/register|ns_register | Register a nickname | }}
{{Modules/Table/Row|2.0/Modules/resetpass|ns_resetpass | Helps you reset lost passwords | }}
{{Modules/Table/Row|2.0/Modules/set|ns_set| Set options, including kill protection | }}
{{Modules/Table/Row|2.0/Modules/set_mist|ns_set_misc | Allows to add additional SET options (like ICQ, AIM, etc) that can be displayed in ns_info | }
{{Modules/Table/Row|2.0/Modules/status|ns_status | Returns the owner status of the given nickname | }}
{{Modules/Table/Row|2.0/Modules/
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
db8284b598ed646fcbc1f4fbb7bb865c58ad8d30
410
409
2013-11-18T18:54:08Z
Dukepyrolator
4
wikitext
text/x-wiki
== Commands ==
=== NickServ ===
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password |IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
|}
=== ChanServ ===
=== BotServ ===
=== MemoServ ===
=== HostServ ===
=== OperServ ===
== Pseudoclients ==
== Protocol ==
== Encryption ==
== Database ==
== Extra Modules ==
== Stats Modules ==
1dea3513bbc16c0b83fc19a42637c3c355486a40
409
408
2013-11-18T18:49:06Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== NickServ ==
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | ACCESS ADD [nickname] mask <br> ACCESS DEL [nickname] mask <br> ACCESS LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password |IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
|}
== ChanServ ==
== BotServ ==
== MemoServ ==
== HostServ ==
== OperServ ==
c12946e8c4b5620d662e9dfb435739de08dec4a8
408
407
2013-11-18T18:48:42Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== NickServ ==
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | access ADD [nickname] mask <br> access DEL [nickname] mask <br> access LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password |IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
|}
== ChanServ ==
== BotServ ==
== MemoServ ==
== HostServ ==
== OperServ ==
19f1e26acf6e416970001d21b17390d2ab1e0811
407
406
2013-11-18T18:47:57Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== NickServ ==
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> AJOIN LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password |IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
|}
== ChanServ ==
== BotServ ==
== MemoServ ==
== HostServ ==
== OperServ ==
4dee9673da9f3ae7c1fc690e64a3a5014710e0de
406
405
2013-11-18T18:47:18Z
Dukepyrolator
4
/* NickServ */
wikitext
text/x-wiki
== NickServ ==
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/access|ns_access | Modify the list of authorized addresses | }}
{{Modules/Table/Row|2.0/Modules/ajoin|ns_ajoin | Manage your auto join list | AJOIN ADD [<ins>'''nickname'''</ins>] <ins>'''channel'''</ins> [<ins>'''key'''</ins>] <br> AJOIN DEL [nickname] channel <br> ajoin LIST [nickname] }}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify | Identify yourself with your password |IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
|}
== ChanServ ==
== BotServ ==
== MemoServ ==
== HostServ ==
== OperServ ==
8fec069e3f965df2e8d9e6537c2f6a761ef9e3c1
405
404
2013-11-18T18:41:33Z
Dukepyrolator
4
wikitext
text/x-wiki
== NickServ ==
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify| Identify yourself with your password |IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
|}
== ChanServ ==
== BotServ ==
== MemoServ ==
== HostServ ==
== OperServ ==
4874c96dbe45cae370897a56661ffb02f637f557
404
2013-11-18T18:39:57Z
Dukepyrolator
4
Created page with "== NickServ == {{Modules/Table/Header}} {{Modules/Table/Row|2.0/Modules/identify|ns_identify| Identify yourself with your password |IDENTIFY [<ins>'''account'''</ins>] <ins>''..."
wikitext
text/x-wiki
== NickServ ==
{{Modules/Table/Header}}
{{Modules/Table/Row|2.0/Modules/identify|ns_identify| Identify yourself with your password |IDENTIFY [<ins>'''account'''</ins>] <ins>'''password'''</ins> }}
|}
5a2cdac7a6acec086f9e1cbefc011c4907cca765
2.0/Modules/bahamut
0
187
829
824
2014-05-09T15:25:08Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/bahamut}}
{{Header|bahamut|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
e164b676f98ff6010471182513da47239176e44b
824
2014-05-09T15:06:39Z
Azander
9
Created page with "{{Language|2.0/Modules/bahamut}} {| class="wikitable" |- |{{ModHead}}||''' Bahamut ''' |- |{{ModAuth}}||''' Anope ''' |- |} == <div class="moduleheader">Description</div> =="
wikitext
text/x-wiki
{{Language|2.0/Modules/bahamut}}
{| class="wikitable"
|-
|{{ModHead}}||''' Bahamut '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
== <div class="moduleheader">Description</div> ==
472be3a3baf704e6e96048f220f084d6998eb524
2.0/Modules/bs assign
0
129
678
2014-05-07T18:47:25Z
Azander
9
Created page with "{{Language|2.0/Modules/bs_assign}} {{Syntax|bs_assign|BotServ|Anope}} == <div class="moduleheader">Description</div> == Add or Remogve a bot from your channel == <div class=..."
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_assign}}
{{Syntax|bs_assign|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Add or Remogve a bot from your channel
== <div class="moduleheader">Commands</div> ==
;ASSIGN channel nick
:Assigns a bot pointed out by nick to a channel. You can then configure the bot for the channel so it fits your needs.
;UNASSIGN channel
: Unassigns a bot from a channel. When you use this command, the bot won't join the channel anymore. However, bot configuration for the channel is kept, so you will always be able to reassign a bot later without having to reconfigure it entirely.
;SET NOBOT channel {ON|OFF}
:This option makes a channel be unassignable. If a bot is already assigned to the channel, it is unassigned automatically when you enable the option. '''NOTE''': Access to this command requires the permission botserv/set/nobot to be present in your opertype.
== <div class="moduleheader">Examples</div> ==
/msg BotServ ASSIGN #myChannel FredBot
/msg BotServ UNASSIGN #myOtherChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_assign
*
* Provides the commands:
* botserv/assign - Used to assign BotServ bots to channels
* botserv/unassign - Used to unassign BotServ bots
* botserv/set/nobot - Used to prohibit channels from being assigned BotServ bots.
*
* Used for assigning and unassigning bots to channels.
*/
module { name = "bs_assign" }
command { service = "BotServ"; name = "ASSIGN"; command = "botserv/assign"; }
command { service = "BotServ"; name = "UNASSIGN"; command = "botserv/unassign"; }
command { service = "BotServ"; name = "SET NOBOT"; command = "botserv/set/nobot"; permission = "botserv/set/nobot"; }
</syntaxhighlight></div>
a74b5b24214d31fd0c93b7418a2acff711a38aaf
2.0/Modules/bs autoassign
0
213
933
2014-05-13T19:07:22Z
Azander
9
Created page with "{{Language|2.0/Modules/bs_autoassign}} {{Header|bs_autoassign|Extra_Modules|Anope}} == <div class="moduleheader">Description</div> == Allows service bots to be automatically..."
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_autoassign}}
{{Header|bs_autoassign|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Allows service bots to be automatically assigned to channels upon registration
*'''NOTE''': Configuraqtion is in the same section as your other BotServ configurations.
;name= :Module name
;bot= :Bot to have auto-join each registered channel.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_autoassign
*
* Allows service bots to be automatically assigned to channels upon registration.
*/
#module
{
name = "bs_autoassign"
/*
* Automatically assign ChanServ to channels upon registration.
*/
bot = "ChanServ"
}
</syntaxhighlight></div>
a0a76b3115012db2d620c641a863cdbe904394d9
2.0/Modules/bs badwords
0
130
682
2014-05-07T19:20:56Z
Azander
9
Created page with "{{Language|2.0/Modules/bs_badwords}} {{Syntax|bs_badwords|BotServ|Anope}} == <div class="moduleheader">Description</div> == Maintains the bad words list for a channel. The ba..."
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_badwords}}
{{Syntax|bs_badwords|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Maintains the bad words list for a channel. The bad words list determines which words are to be kicked when the bad words kicker is enabled. For more information, type /msg BotServ HELP KICK badwords.
== <div class="moduleheader">Commands</div> ==
;badwords channel ADD word [SINGLE | START | END]
:The ADD command adds the given word to the bad words list. If SINGLE is specified, a kick will be done only if a user says the entire word. If START is specified, a kick will be done if a user says a word that starts with word. If END is specified, a kick will be done if a user says a word that ends with word. If you don't specify anything, a kick will be issued every time word is said by a user.
;badwords channel DEL {word | entry-num | list}
:The DEL command removes the given word from the bad words list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
;badwords channel LIST [mask | list]
: The LIST command displays the bad words list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown.
;badwords channel CLEAR
:The CLEAR command clears all entries of the bad words list.
== <div class="moduleheader">Examples</div> ==
/msg BotServ BADWORDS #myChannel ADD nazi
/msg BotServ BADWORDS #myChannel DEL russian
/msg BotServ BADWORDS #myChannel LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_badwords
*
* Provides the command botserv/badwords.
*
* Used for controlling the channel badword list.
*/
module
{
name = "bs_badwords"
/*
* The maximum number of entries a single bad words list can have.
*/
badwordsmax = 32
/*
* If set, BotServ will use case sensitive checking for badwords.
*
* This directive is optional.
*/
#casesensitive = yes
}
command { service = "BotServ"; name = "BADWORDS"; command = "botserv/badwords"; }
</syntaxhighlight></div>
6ff02fed1b107243904e6bcdbfb6b5f3616775a9
2.0/Modules/bs bot
0
131
690
684
2014-05-07T19:40:06Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_bot}}
{{Syntax|bs_bot|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows '''Services Operators''' to create, modify, and delete bots that users will be able to use on their own channels.
'''Note''': you cannot create a bot that has a nick that is currently registered. If an unregistered user is currently using the nick, they will be killed.
== <div class="moduleheader">Commands</div> ==
;bot ADD nick user host real
:adds a bot with the given nickname, username, hostname and realname. Since no integrity checks are done for these settings, be really careful.
;bot CHANGE oldnick newnick [user [host [real] ] ]
:allows to change the nickname, username, hostname or realname of a bot without actually having to delete it (and all the data associated with it).
;bot DEL nick
:removes the given bot from the bot list.
== <div class="moduleheader">Examples</div> ==
/msg BotServ BOT ADD FredBot Freds freds.bot.host Fred_Who?
/msg BotServ BOT CHANGE FredBot FreddyBot
/msg BotServ BOT DEL FredBot
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
</syntaxhighlight></div>
5236d746a64ae45bcd84a456a351090071d0bfa3
684
2014-05-07T19:35:15Z
Azander
9
Created page with "{{Language|2.0/Modules/bs_bot}} {{Syntax|bs_bit|BotServ|Anope}} == <div class="moduleheader">Description</div> == Allows '''Services Operators''' to create, modify, and delet..."
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_bot}}
{{Syntax|bs_bit|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows '''Services Operators''' to create, modify, and delete bots that users will be able to use on their own channels.
'''Note''': you cannot create a bot that has a nick that is currently registered. If an unregistered user is currently using the nick, they will be killed.
== <div class="moduleheader">Commands</div> ==
;bot ADD nick user host real
:adds a bot with the given nickname, username, hostname and realname. Since no integrity checks are done for these settings, be really careful.
;bot CHANGE oldnick newnick [user [host [real] ] ]
:allows to change the nickname, username, hostname or realname of a bot without actually having to delete it (and all the data associated with it).
;bot DEL nick
:removes the given bot from the bot list.
== <div class="moduleheader">Examples</div> ==
/msg BotServ BOT ADD FredBot Freds freds.bot.host Fred_Who?
/msg BotServ BOT CHANGE FredBot FreddyBot
/msg BotServ BOT DEL FredBot
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_bot
*
* Provides the command botserv/bot.
*
* Used for administrating BotServ bots.
*/
module { name = "bs_bot" }
command { service = "BotServ"; name = "BOT"; command = "botserv/bot"; }
</syntaxhighlight></div>
70454b98703230ffa43fed02d068bbf132abeefc
2.0/Modules/bs botlist
0
132
689
685
2014-05-07T19:39:50Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_botlist}}
{{Syntax|bs_botlist|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Lists all available bots on this network. Bots prefixed by a * are reserved for IRC Operators.
== <div class="moduleheader">Commands</div> ==
;BOTLIST
== <div class="moduleheader">Examples</div> ==
/msg BotServ BOTLIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
</syntaxhighlight></div>
881da168175dd701691b10eef895f842bab139d4
685
2014-05-07T19:36:41Z
Azander
9
Created page with "{{Language|2.0/Modules/bs_access}} {{Syntax|bs_access|BotServ|Anope}} == <div class="moduleheader">Description</div> == Lists all available bots on this network. Bots prefix..."
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_access}}
{{Syntax|bs_access|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Lists all available bots on this network. Bots prefixed by a * are reserved for IRC Operators.
== <div class="moduleheader">Commands</div> ==
;BOTLIST
== <div class="moduleheader">Examples</div> ==
/msg BotServ BOTLIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_botlist
*
* Provides the command botserv/botlist.
*
* Used for listing all available bots.
*/
module { name = "bs_botlist" }
command { service = "BotServ"; name = "BOTLIST"; command = "botserv/botlist"; }
</syntaxhighlight></div>
2b2b0d840251df9b05747159e38738f8ccb2da94
2.0/Modules/bs control
0
128
718
676
2014-05-08T11:09:19Z
Dukepyrolator
4
grammar fix
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_control}}
{{Syntax|bs_control|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Makes the bot say something or perform an action
== <div class="moduleheader">Commands</div> ==
;SAY channel text
:Makes the bot say the given text on the given channel.
;ACT chanel action
:Makes the bot do the equivalent of a "/me" command on the given channel using the given text.
== <div class="moduleheader">Examples</div> ==
/msg BotServ SAY #myChannel Hello Fred
/msg BotServ ACT #myChannel shakes Fred's hand.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
</syntaxhighlight></div>
f4a5f4a7ec09595e6df9a74890d9e4fa69d9a003
676
2014-05-07T18:27:27Z
Azander
9
Created page with "{{Language|2.0/Modules/bs_control}} {{Syntax|bs_control|BotServ|Anope}} == <div class="moduleheader">Description</div> == Caused the bot to say something or perform an action..."
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_control}}
{{Syntax|bs_control|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Caused the bot to say something or perform an action
== <div class="moduleheader">Commands</div> ==
;SAY channel text
:Makes the bot say the given text on the given channel.
;ACT chanel action
:Makes the bot do the equivalent of a "/me" command on the given channel using the given text.
== <div class="moduleheader">Examples</div> ==
/msg BotServ SAY #myChannel Hello Fred
/msg BotServ ACT #myChannel shakes Fred's hand.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_control
*
* Provides the commands botserv/act and botserv/say.
*
* Used for making the bot message a channel.
*/
module { name = "bs_control" }
command { service = "BotServ"; name = "ACT"; command = "botserv/act"; }
command { service = "BotServ"; name = "SAY"; command = "botserv/say"; }
</syntaxhighlight></div>
29a189b78e255d079008eedaaec806accd1da4a4
2.0/Modules/bs info
0
133
688
687
2014-05-07T19:39:30Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_info}}
{{Syntax|bs_info|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows you to see BotServ information about a channel or a bot. If the parameter is a channel, then you'll get information such as enabled kickers. If the parameter is a nick, you'll get information about a bot, such as creation time or number of channels it is on.
== <div class="moduleheader">Commands</div> ==
;INFO {channel | nickname}
== <div class="moduleheader">Examples</div> ==
/msg BotServ INFO #myChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
</syntaxhighlight></div>
27e83b290303b8e2129773896aa18661b7ab9e09
687
2014-05-07T19:39:11Z
Azander
9
Created page with "{{Language|2.0/Modules/bs_access}} {{Syntax|bs_access|BotServ|Anope}} == <div class="moduleheader">Description</div> == Allows you to see BotServ information about a channel ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_access}}
{{Syntax|bs_access|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows you to see BotServ information about a channel or a bot. If the parameter is a channel, then you'll get information such as enabled kickers. If the parameter is a nick, you'll get information about a bot, such as creation time or number of channels it is on.
== <div class="moduleheader">Commands</div> ==
;INFO {channel | nickname}
== <div class="moduleheader">Examples</div> ==
/msg BotServ INFO #myChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_info
*
* Provides the command botserv/info.
*
* Used for getting information on bots or channels.
*/
module { name = "bs_info" }
command { service = "BotServ"; name = "INFO"; command = "botserv/info"; }
</syntaxhighlight></div>
d82a907edb2269a9661f240939eff14bb744cec3
2.0/Modules/bs kick
0
134
693
692
2014-05-07T19:59:09Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_kick}}
{{Syntax|bs_kick|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Configures bot kickers.
'''Note''': access to this command is controlled by the level SET.
== <div class="moduleheader">Commands</div> ==
;kick AMSG channel {ON|OFF} [tbb]
:Sets the AMSG kicker on or off. When enabled, the bot will kick users who send the same message to multiple channels where BotServ bots are.
:ttb is the number of times a user can be kicked before they get banned. Don't give ttb to disable the ban system once activated.
;kick BADWORDS channel {ON|OFF} [tbb]
:Sets the bad words kicker on or off. When enabled, this option tells the bot to kick users who say certain words on the channels. You can define bad words for your channel using the BADWORDS command. Type /msg BotServ HELP BADWORDS for more information.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick BOLDS channel {ON|OFF} [tbb]
:Sets the bolds kicker on or off. When enabled, this option tells the bot to kick users who use bolds.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick CAPS channel {ON|OFF} [tbb [min [percent] ] ]
:Sets the caps kicker on or off. When enabled, this option tells the bot to kick users who are talking in CAPS. The bot kicks only if there are at least min caps and they constitute at least percent% of the total text line (if not given, it defaults to 10 characters and 25%).
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disablethe ban system once activated.
;kick COLORS channel {ON|OFF} [tbb]
:Sets the colors kicker on or off. When enabled, this option tells the bot to kick users who use colors.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick FLOOD channel {ON|OFF} [tbb [ln [secs] ] ]
:Sets the flood kicker on or off. When enabled, this option tells the bot to kick users who are flooding the channel using at least ln lines in secs seconds (if not given, it defaults to 6 lines in 10 seconds).
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick ITALICS channel {ON|OFF} [tbb]
:Sets the italics kicker on or off. When enabled, this option tells the bot to kick users who use italics.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick REPEAT channel {ON|OFF} [tbb [num] ]
:Sets the repeat kicker on or off. When enabled, this option tells the bot to kick users who are repeating themselves num times (if num is not given, it defaults to 3).
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick REVERSES channel {ON|OFF} [tbb]
:Sets the reverses kicker on or off. When enabled, this option tells the bot to kick users who use reverses.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick UNDERLINES channel {ON|OFF} [tbb]
:Sets the underlines kicker on or off. When enabled, this option tells the bot to kick users who use underlines.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick DONTKICKOPS channel {ON|OFF}
;kick DONTKICKVOICES channel {ON|OFF}
== <div class="moduleheader">Examples</div> ==
/msg BotServ KICK #myChannel REPEAT ON +1d 5
/msg BotServ KICK #mychannel REVERSES ON
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
</syntaxhighlight></div>
d01a2a88587229d685ea59655da4c3432c06c005
692
2014-05-07T19:58:53Z
Azander
9
Created page with "{{Language|2.0/Modules/bs_access}} {{Syntax|bs_access|BotServ|Anope}} == <div class="moduleheader">Description</div> == Configures bot kickers. '''Note''': access to this ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_access}}
{{Syntax|bs_access|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Configures bot kickers.
'''Note''': access to this command is controlled by the level SET.
== <div class="moduleheader">Commands</div> ==
;kick AMSG channel {ON|OFF} [tbb]
:Sets the AMSG kicker on or off. When enabled, the bot will kick users who send the same message to multiple channels where BotServ bots are.
:ttb is the number of times a user can be kicked before they get banned. Don't give ttb to disable the ban system once activated.
;kick BADWORDS channel {ON|OFF} [tbb]
:Sets the bad words kicker on or off. When enabled, this option tells the bot to kick users who say certain words on the channels. You can define bad words for your channel using the BADWORDS command. Type /msg BotServ HELP BADWORDS for more information.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick BOLDS channel {ON|OFF} [tbb]
:Sets the bolds kicker on or off. When enabled, this option tells the bot to kick users who use bolds.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick CAPS channel {ON|OFF} [tbb [min [percent] ] ]
:Sets the caps kicker on or off. When enabled, this option tells the bot to kick users who are talking in CAPS. The bot kicks only if there are at least min caps and they constitute at least percent% of the total text line (if not given, it defaults to 10 characters and 25%).
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disablethe ban system once activated.
;kick COLORS channel {ON|OFF} [tbb]
:Sets the colors kicker on or off. When enabled, this option tells the bot to kick users who use colors.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick FLOOD channel {ON|OFF} [tbb [ln [secs] ] ]
:Sets the flood kicker on or off. When enabled, this option tells the bot to kick users who are flooding the channel using at least ln lines in secs seconds (if not given, it defaults to 6 lines in 10 seconds).
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick ITALICS channel {ON|OFF} [tbb]
:Sets the italics kicker on or off. When enabled, this option tells the bot to kick users who use italics.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick REPEAT channel {ON|OFF} [tbb [num] ]
:Sets the repeat kicker on or off. When enabled, this option tells the bot to kick users who are repeating themselves num times (if num is not given, it defaults to 3).
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick REVERSES channel {ON|OFF} [tbb]
:Sets the reverses kicker on or off. When enabled, this option tells the bot to kick users who use reverses.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick UNDERLINES channel {ON|OFF} [tbb]
:Sets the underlines kicker on or off. When enabled, this option tells the bot to kick users who use underlines.
:ttb is the number of times a user can be kicked before it gets banned. Don't give ttb to disable the ban system once activated.
;kick DONTKICKOPS channel {ON|OFF}
;kick DONTKICKVOICES channel {ON|OFF}
== <div class="moduleheader">Examples</div> ==
/msg BotServ KICK #myChannel REPEAT ON +1d 5
/msg BotServ KICK #mychannel REVERSES ON
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_kick
*
* Provides the commands:
* botserv/kick - Dummy help wrapper for the KICK command.
* botserv/kick/amsg - Configures BotServ's AMSG kicker.
* botserv/kick/badwords - Configures BotServ's badwords kicker.
* botserv/kick/bolds - Configures BotServ's bold text kiceker.
* botserv/kick/caps - Configures BotServ's capital letters kicker.
* botserv/kick/colors - Configures BotServ's color kicker.
* botserv/kick/flood - Configures BotServ's flood kicker.
* botserv/kick/italics - Configures BotServ's italics kicker.
* botserv/kick/repeat - Configures BotServ's repeat kicker.
* botserv/kick/reverses - Configures BotServ's reverse kicker.
* botserv/kick/underlines - Configures BotServ's reverse kicker.
* botserv/set/dontkickops - Used for preventing BotServ from kicking channel operators.
* botserv/set/dontkickvoices - Used for preventing BotServ from kicking voices.
*
* Used for configuring what bots should kick for.
*/
module
{
name = "bs_kick"
/*
* The amount of time that data for a user is valid in BotServ. If the data exceeds this time,
* it is reset or deleted depending on the case. Do not set it too high, otherwise your
* resources will be slightly affected.
*/
keepdata = 10m
/*
* If set, the bots will use a kick reason that does not state the word when it is kicking.
* This is especially useful if you have young people on your network.
*
* This directive is optional.
*/
gentlebadwordreason = yes
}
command { service = "BotServ"; name = "KICK"; command = "botserv/kick"; }
command { service = "BotServ"; name = "KICK AMSG"; command = "botserv/kick/amsg"; }
command { service = "BotServ"; name = "KICK BADWORDS"; command = "botserv/kick/badwords"; }
command { service = "BotServ"; name = "KICK BOLDS"; command = "botserv/kick/bolds"; }
command { service = "BotServ"; name = "KICK CAPS"; command = "botserv/kick/caps"; }
command { service = "BotServ"; name = "KICK COLORS"; command = "botserv/kick/colors"; }
command { service = "BotServ"; name = "KICK FLOOD"; command = "botserv/kick/flood"; }
command { service = "BotServ"; name = "KICK ITALICS"; command = "botserv/kick/italics"; }
command { service = "BotServ"; name = "KICK REPEAT"; command = "botserv/kick/repeat"; }
command { service = "BotServ"; name = "KICK REVERSES"; command = "botserv/kick/reverses"; }
command { service = "BotServ"; name = "KICK UNDERLINES"; command = "botserv/kick/underlines"; }
command { service = "BotServ"; name = "SET DONTKICKOPS"; command = "botserv/set/dontkickops"; }
command { service = "BotServ"; name = "SET DONTKICKVOICES"; command = "botserv/set/dontkickvoices"; }
</syntaxhighlight></div>
c102b73cd45a1d44f8332bc094f22aa7de9d827c
2.0/Modules/bs set
0
135
696
2014-05-07T20:18:42Z
Azander
9
Created page with "{{Language|2.0/Modules/bs_set}} {{Syntax|bs_set|BotServ|Anope}} == <div class="moduleheader">Description</div> == Configures bot options. == <div class="moduleheader">Comman..."
wikitext
text/x-wiki
{{Language|2.0/Modules/bs_set}}
{{Syntax|bs_set|BotServ|Anope}}
== <div class="moduleheader">Description</div> ==
Configures bot options.
== <div class="moduleheader">Commands</div> ==
;SET BANEXPIRE #channel time
:Sets the time bot bans expire in. If enabled, any bans placed by bots, such as flood kicker, badwords kicker, etc. will automatically be removed after the given time. Set to 0 to disable bans from automatically expiring.
;SET DONTKICKOPS #channel {ON | OFF}
:Enables or disables ops protection mode on a channel. When it is enabled, ops won't be kicked by the bot even if they don't match the NOKICK level.
;SET DONTKICKVOICES #channel {ON | OFF}
:Enables or disables voices protection mode on a channel. When it is enabled, voices won't be kicked by the bot even if they don't match the NOKICK level.
;SET FANTASY channel {ON | OFF}
: Enables or disables fantasy mode on a channel. When it is enabled, users will be able to use fantasy commands on a channel when prefixed with one of the following fantasy characters: !
:Note that users wanting to use fantaisist commands MUST have enough access for both the FANTASIA and the command they are executing.
;SET GREET channel {ON | OFF}
:Enables or disables greet mode on a channel. When it is enabled, the bot will display greet messages of users joining the channel, provided they have enough access to the channel.
;SET NOBOT channel {ON | OFF}
:This option makes a channel be unassignable. If a bot is already assigned to the channel, it is unassigned automatically when you enable the option.
:'''Note''': Access to this command requires the permission botserv/set/nobot to be present in your opertype.
;SET PRIVATE botname {ON | OFF}
:This option prevents a bot from being assigned to a channel by users that aren't IRC Operators.
:'''NOTE''':Access to this command requires the permission botserv/set/private to be present in your opertype.
== <div class="moduleheader">Examples</div> ==
/msg BotServ BANEXPIRE #myChannel 1d
/msg BotServ NOBOT #Help ON
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* bs_set
*
* Provides the commands:
* botserv/set/private - Used to prohibit specific BotServ bots from being assigned to channels.
*/
module { name = "bs_set" }
command { service = "BotServ"; name = "SET"; command = "botserv/set"; }
command { service = "BotServ"; name = "SET BANEXPIRE"; command = "botserv/set/banexpire"; }
command { service = "BotServ"; name = "SET PRIVATE"; command = "botserv/set/private"; permission = "botserv/set/private"; }
</syntaxhighlight></div>
76a8e4579bd94fe2f1ad2e75b02d320af086d1f2
2.0/Modules/charybdis
0
190
830
2014-05-09T15:25:38Z
Azander
9
Created page with "{{Language|2.0/Modules/charybdis}} {{Header|charybdis|Protocol|Anope}} == <div class="moduleheader">Description</div> == *'''NOTE''': You must select the correct protocol fo..."
wikitext
text/x-wiki
{{Language|2.0/Modules/charybdis}}
{{Header|charybdis|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
064805140c6b6286f782679b78547f5780c09bc0
2.0/Modules/cs access
0
100
617
616
2014-05-06T14:55:54Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_access}}
{{Syntax|cs_access|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The ACCESS ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The ACCESS DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The ACCESS LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and 7 through 9.
The ACCESS VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The ACCESS CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
== <div class="moduleheader">Commands</div> ==
;ACCESS #channel ADD mask level
:
;ACCESS #channel DEL {mask | entry-num | list}
:
;ACCESS #channel LIST [mask | list]
:
;ACCESS #channel VIEW [mask | list]
:
;ACCESS #channel CLEAR
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ ACCESS #myChannel ADD *!Fred@*.example.com 10
/msg ChanServ ACCESS #myChannel DEL 1
/msg ChanServ ACCESS #myChannel LIST 2-4,7-9
/msg ChanServ ACCESS #myChannel VIEW Fred@*
/msg ChanServ ACCESS #myChannel CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
</syntaxhighlight></div>
708bf0bb1c356b3843a08e12359e85bb78fdd167
616
2014-05-06T14:55:38Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_access}} {{Syntax|cs_access|NickServ|Anope}} == <div class="moduleheader">Description</div> == Maintains the access list for a channel. The access ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_access}}
{{Syntax|cs_access|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The ACCESS ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The ACCESS DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The ACCESS LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and 7 through 9.
The ACCESS VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The ACCESS CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
== <div class="moduleheader">Commands</div> ==
;ACCESS #channel ADD mask level
:
;ACCESS #channel DEL {mask | entry-num | list}
:
;ACCESS #channel LIST [mask | list]
:
;ACCESS #channel VIEW [mask | list]
:
;ACCESS #channel CLEAR
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ ACCESS #myChannel ADD *!Fred@*.example.com 10
/msg ChanServ ACCESS #myChannel DEL 1
/msg ChanServ ACCESS #myChannel LIST 2-4,7-9
/msg ChanServ ACCESS #myChannel VIEW Fred@*
/msg ChanServ ACCESS #myChannel CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_access
*
* Provides commands chanserv/access and chanserv/levels.
* Provides the access system "levels".
*
* Used for giving users access in channels using a levels system. Allows allows redefining which privileges
* are representated by given level on a per channel basis.
*
* The "LIST" subcommand of chanserv/access will show every access entry on the channel, including access
* entries not added by cs_access. The "level" of these entries will be the representation of the access
* entry by the other access system, which could be an XOP command name, or a set of flags.
*/
module { name = "cs_access" }
command { service = "ChanServ"; name = "ACCESS"; command = "chanserv/access"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "LEVELS"; command = "chanserv/levels"; group = "chanserv/access"; }
</syntaxhighlight></div>
c98e48554d2b99c9e24b87f81147d61294606af8
2.0/Modules/cs akick
0
101
619
2014-05-06T15:12:14Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_akick}} {{Syntax|cs_akick|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Maintains the AutoKick list for a channel. If a user o..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_akick}}
{{Syntax|cs_akick|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Maintains the AutoKick list for a channel. If a user on the AutoKick list attempts to join the channel, ChanServ will ban that user from the channel, then kick
the user.
== <div class="moduleheader">Commands</div> ==
;AKICK channel ADD {nick | mask} [reason]
:The AKICK ADD command adds the given nick or usermask to the AutoKick list. If a reason is given with the command, that reason will be used when the user is kicked; if not, the default reason is "User has been banned from the channel". When akicking a registered nick the NickServ account will be added to the akick list instead of the mask. All users within that nickgroup will then be akicked.
;AKICK channel DEL {nick | mask | entry-num | list}
:The AKICK DEL command removes the given nick or mask from the AutoKick list. It does not, however, remove any bans placed by an AutoKick; those must be removed manually.
;AKICK channel LIST [mask | entry-num | list]
:The AKICK LIST command displays the AutoKick list, or optionally only those AutoKick entries which match the given mask.
;AKICK channel VIEW [mask | entry-num | list]
:The AKICK VIEW command is a more verbose version of the AKICK LIST command.
;AKICK channel ENFORCE
:The AKICK ENFORCE command causes ChanServ to enforce the current AKICK list by removing those users who match an AKICK mask.
;AKICK channel CLEAR
:The AKICK CLEAR command clears all entries of the akick list.
== <div class="moduleheader">Examples</div> ==
/msg ChanServ AKICK #myChannel ADD *Fred@*.example.com Idiot
/msg ChanServ AKICK #myChannel DEL *Fred@*.example.com
/msg ChanServ AKICK #myChannel LIST 1-12
/msg ChanServ AKICK #myChannel ENFORCE
/msg ChanServ AKICK #myChannel CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_akick
*
* Provides the command chanserv/akick.
*
* Used for preventing users from joining channels.
*/
module
{
name = "cs_akick"
/*
* The maximum number of entries on a channel's autokick list.
*/
autokickmax = 32
/*
* The default reason for an autokick if none is given.
*/
autokickreason = "User has been banned from the channel"
}
command { service = "ChanServ"; name = "AKICK"; command = "chanserv/akick"; group = "chanserv/management"; }
</syntaxhighlight></div>
5271ca4e90f443ea43b80e80f74c80102985fbe5
2.0/Modules/cs ban
0
102
622
2014-05-06T15:24:43Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_ban}} {{Syntax|cs_ban|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Bans a given nick or mask on a channel. An optional expiry ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_ban}}
{{Syntax|cs_ban|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Bans a given nick or mask on a channel. An optional expiry may be given to cause services to remove the ban after a set amount of time.
By default, limited to AOPs or those with level 5 access and above on the channel. Channel founders may ban masks.
== <div class="moduleheader">Commands</div> ==
; ban channel [+expiry] {nick | mask} [reason]
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ BAN #myChannel +1h Fred Go cool off before returning.
/msg ChanServ BAN #myChannel Fred@*.example.com You are no longer welcome here.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_ban
*
* Provides the command chanserv/ban.
*
* Used for banning users from channels.
*/
module { name = "cs_ban" }
command { service = "ChanServ"; name = "BAN"; command = "chanserv/ban"; }
</syntaxhighlight></div>
7607c16d78aadcab1949e753eacbec329b96e5af
2.0/Modules/cs clone
0
103
623
2014-05-06T15:27:28Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_clone}} {{Syntax|cs_clone|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Copies all settings, access, akicks, etc from channel t..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_clone}}
{{Syntax|cs_clone|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Copies all settings, access, akicks, etc from channel to the target channel. If '''what''' is ACCESS, AKICK, or BADWORDS then only the respective settings are cloned.
You must be the founder of channel and target
== <div class="moduleheader">Commands</div> ==
;clone channel target [what]
== <div class="moduleheader">Examples</div> ==
/msg ChanServ CLONE #myChannel #myOtherChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_clone
*
* Provides the command chanserv/clone.
*
* Used for copying channel settings from one channel to another.
*/
module { name = "cs_clone" }
command { service = "ChanServ"; name = "CLONE"; command = "chanserv/clone"; group = "chanserv/management"; }
</syntaxhighlight></div>
5b79371a359e843749cc21c03630cdda7948ac5e
2.0/Modules/cs core
0
126
669
666
2014-05-06T21:33:28Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_core}}
{{Syntax||ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
:Internal configuration of ChanServ
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
/*
* ChanServ privilege configuration.
*
* ChanServ privileges are used to determine who has what access in channels. By default the core has its own
* set of privileges it uses for various commands, which are defined below. Privilege ranks are used to
* determine how powerful privileges are relative to other privileges, which is used by Anope to determine
* who has greater access in a channel.
*
* If you load cs_access, you may define a level for the privilege, which is used by chanserv/access and chanserv/levels.
* The levels defined will be used as the default levels for newly registered channels.
* The level "founder" is a special level which means anyone with the privilege FOUNDER on the channel
* has that permission. Additionally, the level "disabled" means that no one can use the privilege, including founders.
*
* If you load cs_flags, you may define a flag associated with that privilege for use in chanserv/flags.
*
* If you load cs_xop, you may define a XOP command to associate the privilege with.
*
* The name of privileges are uesd to associate them with channel modes. If you are using an IRCd that allows you to define additional
* channel status modes, such as InspIRCd, you can associate privileges (and thus access levels, flags, xop) with the mode by naming
* the privileges appropriately. For example, if you had a channel mode called admin, you could create AUTOADMIN, ADMIN, and ADMINME
* privileges which would automatically be associated with that channel mode.
*
* Defining new privileges here is not useful unless you have a module (eg, a third party one) made to check for
* the specific level you are defining.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/*
* ACCESS_CHANGE privilege.
*
* Used by chanserv/access, chanserv/flags and chanserv/xop.
*
* Users with this permission can modify the permissions of others.
*/
privilege
{
name = "ACCESS_CHANGE"
rank = 0
level = 10
flag = "f"
xop = "SOP"
}
/*
* ACCESS_LIST privilege.
*
* Used by chanserv/access, chanserv/flags, and chanserv/xop.
*
* Users with this permission can view the access list of channels.
*/
privilege
{
name = "ACCESS_LIST"
rank = 10
level = 3
flag = "f"
xop = "VOP"
}
/*
* AKICK privilege.
*
* Used by chanserv/akick and chanserv/enforce.
*
* Users with this permission can modify the AKICK list.
*/
privilege
{
name = "AKICK"
rank = 250
level = 10
flag = "K"
xop = "SOP"
}
/*
* ASSIGN privilege.
*
* Used by botserv/assign.
*
* Users with this permission can assign and unassign BotServ bots to and from the channel.
*/
privilege
{
name = "ASSIGN"
rank = 270
level = "founder"
flag = "s"
xop = "QOP"
}
/*
* AUTOHALFOP privilege.
*
* Used by the core.
*
* Users with this permission get halfop on join.
*/
privilege
{
name = "AUTOHALFOP"
rank = 100
level = 4
flag = "H"
xop = "HOP"
}
/*
* AUTOOP privilege.
*
* Used by the core.
*
* Users with this permission get op on join.
*/
privilege
{
name = "AUTOOP"
rank = 210
level = 5
flag = "O"
xop = "AOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* AUTOOWNER privilege.
*
* Used by the core.
*
* Users with this permission get owner on join.
*/
privilege
{
name = "AUTOOWNER"
rank = 330
level = 9999
flag = "Q"
xop = "QOP"
}
/*
* AUTOPROTECT privilege.
*
* Used by the core.
*
* Users with this permission get admin on join.
*/
privilege
{
name = "AUTOPROTECT"
rank = 240
level = 10
flag = "A"
xop = "SOP"
}
/*
* BAN privilege.
*
* Used by chanserv/ban.
*
* Users with this permission can use the BAN command.
*/
privilege
{
name = "BAN"
rank = 150
level = 4
flag = "b"
xop = "HOP"
}
/*
* FANTASIA privilege.
*
* Used by botserv/main and chanserv/xop.
*
* Users with this permission can use fantasy commands in the channel.
*/
privilege
{
name = "FANTASIA"
rank = 30
level = 3
flag = "c"
xop = "VOP"
}
/*
* FOUNDER privilege.
*
* Used by chanserv/access, chanserv/akick,
* chanserv/drop, chanserv/set/founder,
* chanserv/set/securefounder, chanserv/set/successor and chanserv/xop.
*
* Users with this permission are treated as founders and can use
* commands restricted to founders.
*/
privilege
{
name = "FOUNDER"
rank = 360
level = 10000
flag = "F"
xop = "QOP"
}
/*
* GETKEY privilege.
*
* Used by chanserv/getkey and nickserv/ajoin.
*
* Users with this permission can get they channel key with GETKEY and
* can use nickserv/ajoin to join channels with keys.
*/
privilege
{
name = "GETKEY"
rank = 180
level = 5
flag = "G"
xop = "AOP"
}
/*
* HALFOP privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* others in the channel.
*/
privilege
{
name = "HALFOP"
rank = 120
level = 5
flag = "h"
xop = "AOP"
}
/*
* HALFOPME privilege.
*
* Used by chanserv/mode, chanserv/halfop and chanserv/dehalfop.
*
* Users with this permission can use ChanServ to halfop and dehalfop
* themselves in the channel.
*/
privilege
{
name = "HALFOPME"
rank = 110
level = 4
flag = "h"
xop = "HOP"
}
/*
* INFO privilege.
*
* Used by botserv/info and chanserv/info.
*
* Users with this permission are allowed to get the full INFO output
* from BotServ and ChanServ.
*/
privilege
{
name = "INFO"
rank = 80
level = 9999
flag = "I"
xop = "QOP"
}
/*
* INVITE privilege.
*
* Used by chanserv/invite and nickserv/ajoin.
*
* Users with this permission can invite users through ChanServ and
* join invite only channels with nickserv/ajoin.
*/
privilege
{
name = "INVITE"
rank = 190
level = 5
flag = "i"
xop = "AOP"
}
/*
* KICK privilege.
*
* Used by chanserv/kick.
*
* Users with this permission can use the KICK command.
*/
privilege
{
name = "KICK"
rank = 130
level = 4
flag = "k"
xop = "HOP"
}
/*
* MEMO privilege.
*
* Used by memoserv/del, memoserv/ignore, memoserv/info, memoserv/list,
* memoserv/main, memoserv/read and memoserv/set.
*
* Users with this permission can manage channel memos.
*/
privilege
{
name = "MEMO"
rank = 280
level = 10
flag = "m"
xop = "SOP"
}
/*
* MODE privilege.
*
* Used by chanserv/mode.
*
* Users with this permission can set modes through ChanServ and change
* the mode lock.
*/
privilege
{
name = "MODE"
rank = 170
level = 9999
flag = "s"
xop = "QOP"
}
/*
* NOKICK privilege.
*
* Used by botserv/kick.
*
* Users with this permission are spared from automated BotServ kicks.
*/
privilege
{
name = "NOKICK"
rank = 20
level = 1
flag = "N"
xop = "VOP"
}
/*
* OP privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* others in the channel.
*/
privilege
{
name = "OP"
rank = 230
level = 5
flag = "o"
xop = "SOP"
}
/*
* OPME privilege.
*
* Used by chanserv/mode, chanserv/modes.
*
* Users with this permission can use ChanServ to op and deop
* themselves in the channel.
*/
privilege
{
name = "OPME"
rank = 220
level = 5
flag = "o"
xop = "AOP"
}
/*
* OWNER privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* others in the channel.
*/
privilege
{
name = "OWNER"
rank = 350
level = "founder"
flag = "q"
xop = "QOP"
}
/*
* OWNERME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to owner and deowner
* themselves in the channel.
*/
privilege
{
name = "OWNERME"
rank = 340
level = 9999
flag = "q"
xop = "QOP"
}
/*
* PROTECT privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* others in the channel.
*/
privilege
{
name = "PROTECT"
rank = 310
level = 9999
flag = "a"
xop = "QOP"
}
/*
* PROTECTME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to protect and deprotect
* themselves in the channel.
*/
privilege
{
name = "PROTECTME"
rank = 300
level = 10
flag = "a"
xop = "AOP"
}
/*
* SAY privilege.
*
* Used by botserv/control.
*
* Users with this permission can use the BotServ bot in the channel to
* say or do a /me with the provided message.
*/
privilege
{
name = "SAY"
rank = 90
level = 5
flag = "B"
xop = "AOP"
}
/*
* SET privilege.
*
* Used by botserv/kick, botserv/set, chanserv/clone, chanserv/log,
* chanserv/saset/noexpire and chanserv/set.
*
* Users with this permission can set what BotServ will kick for, change
* BotServ and ChanServ settings, clone ChanServ channel setings, and
* set ChanServ logging options.
*/
privilege
{
name = "SET"
rank = 320
level = 9999
flag = "s"
xop = "QOP"
}
/*
* SIGNKICK privilege.
*
* Used by chanserv/ban and chanserv/kick.
*
* Users with this permission won't get their nick shown in the kick
* through ChanServ when the setting SIGNKICK is set to LEVEL.
*/
privilege
{
name = "SIGNKICK"
rank = 140
level = 9999
flag = "K"
xop = "QOP"
}
/*
* TOPIC privilege.
*
* Used by chanserv/topic.
*
* Users with this permission can change the channel topic through ChanServ.
*/
privilege
{
name = "TOPIC"
rank = 160
level = 5
flag = "t"
xop = "AOP"
}
/*
* UNBAN privilege.
*
* Used by chanserv/unban.
*
* Users with this permission can unban themselves and others through ChanServ.
*/
privilege
{
name = "UNBAN"
rank = 200
level = 4
flag = "u"
xop = "HOP"
}
/*
* VOICE privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* others in the channel.
*/
privilege
{
name = "VOICE"
rank = 70
level = 4
flag = "v"
xop = "HOP"
}
/*
* VOICEME privilege.
*
* Used by chanserv/mode and chanserv/modes.
*
* Users with this permission can use ChanServ to voice and devoice
* themselves in the channel.
*/
privilege
{
name = "VOICEME"
rank = 60
level = 3
flag = "v"
xop = "VOP"
}
/*
* Core ChanServ commands.
*
* In Anope modules can provide (multiple) commands, each of which has a unique command name. Once these modules
* are loaded you can then configure the commands to be added to any client you like with any name you like.
*
* Additionally, you may provide a permission name that must be in the opertype of users executing the command.
*
* Sane defaults are provided below that do not need to be edited unless you wish to change the default behavior.
*/
/* Command group configuration for ChanServ.
*
* Commands may optionally be placed into groups to make ChanServ's HELP output easier to understand.
* Remove the following groups to use the old behavior of simply listing all ChanServ commands from HELP.
*/
command_group
{
name = "chanserv/access"
description = "Used to manage the list of privileged users"
}
command_group
{
name = "chanserv/status"
description = "Used to modify the channel status of you or other users"
}
command_group
{
name = "chanserv/management"
description = "Used to manage channels"
}
command_group
{
name = "chanserv/admin"
description = "Services Operator commands"
}
/* Give it a help command. */
command { service = "ChanServ"; name = "HELP"; command = "generic/help"; }
</syntaxhighlight></div>
5c39029f9e21878bf4e975fed0a8a63d88620ded
666
665
2014-05-06T21:25:16Z
Azander
9
Azander moved page [[2.0/Modules/cs levels]] to [[2.0/Modules/cs core]] without leaving a redirect
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_core}}
{{Syntax|cs_core|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
== <div class="moduleheader">Commands</div> ==
== <div class="moduleheader">Examples</div> ==
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
</syntaxhighlight></div>
7f70442e97d546c5da5fa2a0faf0018c9a3fc257
665
2014-05-06T21:24:58Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_core}} {{Syntax|cs_core|ChanServ|Anope}} == <div class="moduleheader">Description</div> == == <div class="moduleheader">Commands</div> == == <div c..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_core}}
{{Syntax|cs_core|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
== <div class="moduleheader">Commands</div> ==
== <div class="moduleheader">Examples</div> ==
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Core ChanServ module.
*
* Provides essential functionality for ChanServ.
*/
module
{
name = "chanserv"
/*
* The name of the client that should be ChanServ.
*/
client = "ChanServ"
/*
* The default options for newly registered channels. Note that changing these options
* will have no effect on channels which are already registered. The list must be separated
* by spaces.
*
* The options are:
* - keeptopic: Retain topic when the channel is not in use
* - peace: Disallow users from kicking or removing modes from others who are of the same
* access level or superior
* - cs_private: Hide the channel from ChanServ's LIST command
* - restricted: Kick/ban users who are restricted from the channel
* - cs_secure: Enable channel security, requiring the user to be identified with NickServ in
* order to be considered for being on the access list of the channel
* - secureops: Only allow operator status to be given if the user is on the access list
* - securefounder: Only allow the real founder of the channel to drop the channel, change it's
* password, or change the founder or successor
* - signkick: Use of ChanServ's KICK command will cause the user's nick to be signed to the kick.
* - signkick_level: Same as above, but the kick will not be signed if the user is at the same access
* level or superior to the target
* - topiclock: Disallow the topic to be changed except with ChanServ's TOPIC command
* - persist: Keep the channel open at all times
* - noautoop: Disables autoop on the channel
* - cs_keep_modes: Enables keep modes on the channel, which retains modes when the channel is
* not in use.
* - none: No defaults
*
* This directive is optional, if left blank, the options will default to keeptopic, cs_secure, securefounder,
* and signkick. If you really want no defaults, use "none" by itself as the option.
*/
defaults = "keeptopic peace cs_secure securefounder signkick"
/*
* The maximum number of channels which may be registered to a single nickname.
*
* This directive is optional, but recommended.
* If not set, there will be no restriction on the numbers of channels a single nickname can have registered.
*/
maxregistered = 20
/*
* The length of time before a channel registration expires.
*
* This directive is optional, but recommended.
* If not set, the default is 14 days.
*/
expire = 14d
/*
* The maximum number of entries on a channel's access list.
* If not set, the default is 1024. This can be set to 0 for unlimited.
*/
accessmax = 1024
/*
* The length of time ChanServ stays in a channel after kicking a user from a channel they are not
* permitted to be in. This only occurs when the user is the only one in the channel.
*/
inhabit = 15s
/*
* Allow only IRC Operators to use ChanServ.
*
* This directive is optional.
*/
#opersonly = yes
/*
* Modes that will not be allowed to be locked. Oper only modes such as +O
* are always restricted from regular users and are not affected by this.
* Comment out for no restrictions.
*/
#nomlock = "P"
/*
* Modes that are required to be set and only set on all registered channels.
* These modes can not be locked or unlocked. The registered channel mode is
* automatically always required, if such a mode exists.
*/
#require = "r"
/*
* The maximum length of the reason field for user commands such as chanserv/kick
* and chanserv/ban.
*/
reasonmax = 200
/*
* If set, prevents channel access entries from containing hostmasks.
*/
disallow_hostmask_access = false
/*
* If set, prevents channels from being on access lists.
*/
disallow_channel_access = false
/*
* If set, ChanServ will always lower the timestamp of registered channels to their registration date.
* This prevents several race conditions where unauthorized users can join empty registered channels and set
* modes etc. prior to services deopping them.
*/
always_lower_ts = false
}
</syntaxhighlight></div>
7f70442e97d546c5da5fa2a0faf0018c9a3fc257
2.0/Modules/cs drop
0
104
626
2014-05-06T15:33:29Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_drop}} {{Syntax|cs_drop|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Unregisters the named channel. '''Only Services Operat..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_drop}}
{{Syntax|cs_drop|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Unregisters the named channel.
'''Only Services Operators can drop a channel of which they are not the founder.'''
== <div class="moduleheader">Commands</div> ==
;drop channel
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ DROP #myOtherChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_drop
*
* Provides the command chanserv/drop.
*
* Used for unregistering channels.
*/
module { name = "cs_drop" }
command { service = "ChanServ"; name = "DROP"; command = "chanserv/drop"; }
</syntaxhighlight></div>
0d80ffd4e6505fee548145e256fa23d1621c235f
2.0/Modules/cs enforce
0
105
628
627
2014-05-06T15:40:10Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_enforce}}
{{Syntax|cs_enforce|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Enforce various channel modes and set options. The channel
option indicates what channel to enforce the modes and options
on. The what option indicates what modes and options to
enforce, and can be any of '''SECUREOPS''', '''RESTRICTED''', '''REGONLY''', '''SSLONLY''',
'''BANS''', or '''LIMIT'''.
Use '''SECUREOPS''' to enforce the '''SECUREOPS''' option, even if it is not
enabled. Use '''RESTRICTED''' to enforce the '''RESTRICTED''' option, also
if it's not enabled. Use '''REGONLY''' to kick all unregistered users
from the channel. Use '''SSLONLY''' to kick all users not using a secure
connection from the channel. '''BANS''' will enforce bans on the channel by
kicking users affected by them, and '''LIMIT''' will kick users until the
user count drops below the channel limit, if one is set.
== <div class="moduleheader">Commands</div> ==
;enforce channel what
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ ENFORCE BANS
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
</syntaxhighlight></div>
3d1d4d3ae8f97820ea561dfe8eb728215fdddf50
627
2014-05-06T15:39:58Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_enforce}} {{Syntax|cs_enforce|NickServ|Anope}} == <div class="moduleheader">Description</div> == Enforce various channel modes and set options. The ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_enforce}}
{{Syntax|cs_enforce|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Enforce various channel modes and set options. The channel
option indicates what channel to enforce the modes and options
on. The what option indicates what modes and options to
enforce, and can be any of '''SECUREOPS''', '''RESTRICTED''', '''REGONLY''', '''SSLONLY''',
'''BANS''', or '''LIMIT'''.
Use '''SECUREOPS''' to enforce the '''SECUREOPS''' option, even if it is not
enabled. Use '''RESTRICTED''' to enforce the '''RESTRICTED''' option, also
if it's not enabled. Use '''REGONLY''' to kick all unregistered users
from the channel. Use '''SSLONLY''' to kick all users not using a secure
connection from the channel. '''BANS''' will enforce bans on the channel by
kicking users affected by them, and '''LIMIT''' will kick users until the
user count drops below the channel limit, if one is set.
== <div class="moduleheader">Commands</div> ==
;enforce channel what
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ ENFORCE BANS
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_enforce
*
* Provides the command chanserv/enforce.
*
* Used to enforce various channel settings such as secureops and restricted.
*/
module { name = "cs_enforce" }
command { service = "ChanServ"; name = "ENFORCE"; command = "chanserv/enforce"; group = "chanserv/management"; }
</syntaxhighlight></div>
6ab21debb57103523ce98d47144da2ecfe71ba45
2.0/Modules/cs entrymsg
0
106
630
2014-05-06T15:48:02Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_entrymsg}} {{Syntax|cs_entrymsg|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Controls what messages will be sent to users when..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_entrymsg}}
{{Syntax|cs_entrymsg|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Controls what messages will be sent to users when they join the channel.
== <div class="moduleheader">Commands</div> ==
;entrymsg channel ADD message
:The ENTRYMSG ADD command adds the given message to the list of messages to be shown to users when they join the channel.
;entrymsg channel DEL num
:The ENTRYMSG DEL command removes the given message from the list of messages to be shown to users when they join the channel. You can remove the message by specifying its number which you can get by listing the messages as explained below.
;entrymsg channel LIST
:The ENTRYMSG LIST command displays a listing of messages to be shown to users when they join the channel.
;entrymsg channel CLEAR
: The ENTRYMSG CLEAR command clears all entries from the list of messages to be shown to users when they join the channel, effectively disabling entry messages.
== <div class="moduleheader">Examples</div> ==
/msg ChanServ ENTRYMSG #myChannel ADD Welcome to the jungle.
/msg ChanServ ENTRYMSG #myChannel DEL 1
/msg ChanServ ENTRYMSG #myChannel LIST
/msg ChanServ ENTRYMSG #myChannel CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_entrymsg
*
* Provides the command chanserv/entrymsg.
*
* Used to configure entry messages sent to users when they join a channel.
*/
module
{
name = "cs_entrymsg"
/* The maximum number of entrymsgs allowed per channel. If not set, defaults to 5. */
maxentries = 5
}
command { service = "ChanServ"; name = "ENTRYMSG"; command = "chanserv/entrymsg"; group = "chanserv/management"; }
</syntaxhighlight></div>
37da72da7fd9782a27034e012528e2f6bcd9a3f3
2.0/Modules/cs flags
0
99
703
615
2014-05-07T20:33:22Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_flags}}
{{Syntax|cs_flags|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
flags is another way to modify the channel access list, similar to the XOP and ACCESS methods.
The MODIFY command allows you to modify the access list. If mask is not already on the access list is it added, then the changes are applied. If the mask has no more flags, then the mask is removed from the access list. Additionally, you may use +* or -* to add or remove all flags, respectively. You are only able to modify the access list if you have the proper permission on the channel, and even then you can only give other people access to up what you already have.
The LIST command allows you to list existing entries on the channel access list. If a mask is given, the mask is wildcard matched against all existing entries on the access list, and only those entries are returned. If a set of flags is given, only those on the access list with the specified flags are returned.
The CLEAR command clears the channel access list, which requires channel founder.
The available flags are:
:A - Automatic protect upon join
:a - Allowed to (de)protect users
:a - Allowed to (de)protect him/herself
:b - Allowed to ban users
:B - Allowed to use SAY and ACT commands
:c - Allowed to use fantasy commands
:f - Allowed to modify the access list
:f - Allowed to view the access list
:F - Allowed to issue commands restricted to channel founders
:G - Allowed to use GETKEY command
:g - Greet message displayed on join
:H - Automatic halfop upon join
:h - Allowed to (de)halfop users
:h - Allowed to (de)halfop him/herself
:I - Allowed to get full INFO output
:i - Allowed to use the INVITE command
:K - Allowed to use the AKICK command
:K - Allowed to modify channel badwords list
:k - Allowed to use the KICK command
:K - No signed kick when SIGNKICK LEVEL is used
:m - Allowed to read channel memos
:N - Prevents users being kicked by Services
:O - Automatic channel operator status upon join
:o - Allowed to (de)op users
:o - Allowed to (de)op him/herself
:Q - Automatic owner upon join
:q - Allowed to (de)owner users
:q - Allowed to (de)owner him/herself
:s - Allowed to assign/unassign a bot
:s - Allowed to use the MODE command
:s - Allowed to set channel settings
:t - Allowed to change channel topics
:u - Allowed to unban users
:V - Automatic voice on join
:v - Allowed to (de)voice users
== <div class="moduleheader">Commands</div> ==
;FLAGS channel MODIFY mask changes
:
;FLAGS channel LIST [mask or +flags]
:
;FLAGS channel CLEAR
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ FLAGS #myChannel MODIFY *!Fred@*.example.com +Vv
/msg ChanServ FLAGS #myChannel LIST
/msg ChanServ FLAGS CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
</syntaxhighlight></div>
e2796bb3f98ab9eeaf03642a86137546b37edf8a
615
614
2014-05-06T14:47:37Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_flags}}
{{Syntax|ns_flags|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
flags is another way to modify the channel access list, similar to the XOP and ACCESS methods.
The MODIFY command allows you to modify the access list. If mask is not already on the access list is it added, then the changes are applied. If the mask has no more flags, then the mask is removed from the access list. Additionally, you may use +* or -* to add or remove all flags, respectively. You are only able to modify the access list if you have the proper permission on the channel, and even then you can only give other people access to up what you already have.
The LIST command allows you to list existing entries on the channel access list. If a mask is given, the mask is wildcard matched against all existing entries on the access list, and only those entries are returned. If a set of flags is given, only those on the access list with the specified flags are returned.
The CLEAR command clears the channel access list, which requires channel founder.
The available flags are:
:A - Automatic protect upon join
:a - Allowed to (de)protect users
:a - Allowed to (de)protect him/herself
:b - Allowed to ban users
:B - Allowed to use SAY and ACT commands
:c - Allowed to use fantasy commands
:f - Allowed to modify the access list
:f - Allowed to view the access list
:F - Allowed to issue commands restricted to channel founders
:G - Allowed to use GETKEY command
:g - Greet message displayed on join
:H - Automatic halfop upon join
:h - Allowed to (de)halfop users
:h - Allowed to (de)halfop him/herself
:I - Allowed to get full INFO output
:i - Allowed to use the INVITE command
:K - Allowed to use the AKICK command
:K - Allowed to modify channel badwords list
:k - Allowed to use the KICK command
:K - No signed kick when SIGNKICK LEVEL is used
:m - Allowed to read channel memos
:N - Prevents users being kicked by Services
:O - Automatic channel operator status upon join
:o - Allowed to (de)op users
:o - Allowed to (de)op him/herself
:Q - Automatic owner upon join
:q - Allowed to (de)owner users
:q - Allowed to (de)owner him/herself
:s - Allowed to assign/unassign a bot
:s - Allowed to use the MODE command
:s - Allowed to set channel settings
:t - Allowed to change channel topics
:u - Allowed to unban users
:V - Automatic voice on join
:v - Allowed to (de)voice users
== <div class="moduleheader">Commands</div> ==
;FLAGS channel MODIFY mask changes
:
;FLAGS channel LIST [mask or +flags]
:
;FLAGS channel CLEAR
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ FLAGS #myChannel MODIFY *!Fred@*.example.com +Vv
/msg ChanServ FLAGS #myChannel LIST
/msg ChanServ FLAGS CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
</syntaxhighlight></div>
4488b6d4e9a86092236aa1990568bb5326277c41
614
2014-05-06T14:41:18Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_flags}} {{Syntax|ns_flags|ChanServ|Anope}} == <div class="moduleheader">Description</div> == flags is another way to modify the channel access list,..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_flags}}
{{Syntax|ns_flags|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
flags is another way to modify the channel access list, similar to the XOP and ACCESS methods.
The MODIFY command allows you to modify the access list. If mask is not already on the access list is it added, then the changes are applied. If the mask has no more flags, then the mask is removed from the access list. Additionally, you may use +* or -* to add or remove all flags, respectively. You are only able to modify the access list if you have the proper permission on the channel, and even then you can only give other people access to up what you already have.
The LIST command allows you to list existing entries on the channel access list. If a mask is given, the mask is wildcard matched against all existing entries on the access list, and only those entries are returned. If a set of flags is given, only those on the access list with the specified flags are returned.
The CLEAR command clears the channel access list, which requires channel founder.
The available flags are:
:A - Automatic protect upon join
:a - Allowed to (de)protect users
:a - Allowed to (de)protect him/herself
:b - Allowed to ban users
:B - Allowed to use SAY and ACT commands
:c - Allowed to use fantasy commands
:f - Allowed to modify the access list
:f - Allowed to view the access list
:F - Allowed to issue commands restricted to channel founders
:G - Allowed to use GETKEY command
:g - Greet message displayed on join
:H - Automatic halfop upon join
:h - Allowed to (de)halfop users
:h - Allowed to (de)halfop him/herself
:I - Allowed to get full INFO output
:i - Allowed to use the INVITE command
:K - Allowed to use the AKICK command
:K - Allowed to modify channel badwords list
:k - Allowed to use the KICK command
:K - No signed kick when SIGNKICK LEVEL is used
:m - Allowed to read channel memos
:N - Prevents users being kicked by Services
:O - Automatic channel operator status upon join
:o - Allowed to (de)op users
:o - Allowed to (de)op him/herself
:Q - Automatic owner upon join
:q - Allowed to (de)owner users
:q - Allowed to (de)owner him/herself
:s - Allowed to assign/unassign a bot
:s - Allowed to use the MODE command
:s - Allowed to set channel settings
:t - Allowed to change channel topics
:u - Allowed to unban users
:V - Automatic voice on join
:v - Allowed to (de)voice users
== <div class="moduleheader">Commands</div> ==
;FLAGS channel MODIFY mask changes
:
;FLAGS channel LIST [mask or +flags]
:
;FLAGS channel CLEAR
:
== <div class="moduleheader">Examples</div> ==
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_flags
*
* Provides the command chanserv/flags.
* Provides the access system "flags".
*
* Used for giving users access in channels.
*
* The "LIST" subcommand of chanserv/flags will show every access entry on the channel, including access
* entries not added by cs_flags. The "Flags" of these entries will be the flags representation of the
* privilege set granted by the access entry.
*/
module { name = "cs_flags" }
command { service = "ChanServ"; name = "FLAGS"; command = "chanserv/flags"; group = "chanserv/access"; }
</syntaxhighlight></div>
47e2f5ca2fa0baa2d5cdf047940f3e9ade9c574f
2.0/Modules/cs getkey
0
107
632
2014-05-06T15:53:22Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_getkey}} {{Syntax|cs_getkey|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Returns the key of the given channel. == <div class=..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_getkey}}
{{Syntax|cs_getkey|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Returns the key of the given channel.
== <div class="moduleheader">Commands</div> ==
;getkey channel
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ GETKEY #myChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_getkey
*
* Provides the command chanserv/getkey.
*
* Used for getting the key for channels.
*/
module { name = "cs_getkey" }
command { service = "ChanServ"; name = "GETKEY"; command = "chanserv/getkey"; }
</syntaxhighlight></div>
cfe6a2dca6965856139f1912dd76ef1e6a6c3d89
2.0/Modules/cs info
0
108
633
2014-05-06T15:57:46Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_info}} {{Syntax|cs_info|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Lists information about the named registered channel, inc..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_info}}
{{Syntax|cs_info|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Lists information about the named registered channel, including its founder, time of registration, and last time used. If the user issuing the command has the appropriate access for it, then the description, successor, last topic set, settings and expiration time will also be displayed when applicable.
== <div class="moduleheader">Commands</div> ==
;info channel
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ INFO #myChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_info
*
* Provides the command chanserv/info.
*
* Used for getting information about channels.
*/
module { name = "cs_info" }
command { service = "ChanServ"; name = "INFO"; command = "chanserv/info"; }
</syntaxhighlight></div>
6d0a50b48cf5f2f5c40beae6a6da3cbf1f341f41
2.0/Modules/cs invite
0
109
634
2014-05-06T16:10:28Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_invite}} {{Syntax|cs_invite|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Tells ChanServ to invite you or an optionally specifi..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_invite}}
{{Syntax|cs_invite|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Tells ChanServ to invite you or an optionally specified nick into the given channel.
By default, limited to AOPs or those with level 5 and above on the channel.
== <div class="moduleheader">Commands</div> ==
;invite channel [nick]
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ INVITE #myChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_invite
*
* Provides the command chanserv/invite.
*
* Used for inviting yourself in to channels.
*/
module { name = "cs_invite" }
command { service = "ChanServ"; name = "INVITE"; command = "chanserv/invite"; }
</syntaxhighlight></div>
ef4d06dd29a670850cbe7263d1fdc330c59d4613
2.0/Modules/cs kick
0
110
635
2014-05-06T16:12:47Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_kick}} {{Syntax|cs_kick|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Kicks a specified nick from a channel. By default, limit..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_kick}}
{{Syntax|cs_kick|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Kicks a specified nick from a channel.
By default, limited to AOPs or those with level 5 access and above on the channel. Channel founders may use masks too.
== <div class="moduleheader">Commands</div> ==
;kick channel nick [reason]
:
;kick channel mask [reason]
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ KICK $myChannel Fred Go cool off.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_kick
*
* Provides the command chanserv/kick.
*
* Used for kicking users from channels.
*/
module { name = "cs_kick" }
command { service = "ChanServ"; name = "KICK"; command = "chanserv/kick"; }
</syntaxhighlight></div>
d9bf26f408b0950c43d280e1280759621eefa9f0
2.0/Modules/cs list
0
111
637
636
2014-05-06T16:18:19Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_list}}
{{Syntax|cs_list|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Lists all registered channels matching the given pattern. Channels with the PRIVATE option set will only be displayed to Services Operators with the proper access. Channels with the '''NOEXPIRE''' option set will have a ! prefixed to the channel for Services Operators to see.
Note that a preceding '#' specifies a range, channel names are to be written without '#'.
If the '''SUSPENDED''' or '''NOEXPIRE''' options are given, only channels which, respectively, are '''SUSPENDED''' or have the '''NOEXPIRE''' flag set will be displayed. If multiple options are given, all channels matching at least one option will be displayed.
'''Note that these options are limited to Services Operators.'''
== <div class="moduleheader">Commands</div> ==
;list pattern [SUSPENDED] [NOEXPIRE]
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ LIST *anope*
/msg ChanServ LIST * NOEXPIRE
/msg ChanServ LIST #51-100
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
</syntaxhighlight></div>
728799ebcf02cc3a83f765963a7ee8eec806dc44
636
2014-05-06T16:18:07Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_list}} {{Syntax|cs_list|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Lists all registered channels matching the given pattern...."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_list}}
{{Syntax|cs_list|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Lists all registered channels matching the given pattern. Channels with the PRIVATE option set will only be displayed to Services Operators with the proper access. Channels with the '''NOEXPIRE''' option set will have a ! prefixed to the channel for Services Operators to see.
Note that a preceding '#' specifies a range, channel names are to be written without '#'.
If the '''SUSPENDED''' or '''NOEXPIRE''' options are given, only channels which, respectively, are '''SUSPENDED''' or have the '''NOEXPIRE''' flag set will be displayed. If multiple options are given, all channels matching at least one option will be displayed.
'''Note that these options are limited to Services Operators.'''
== <div class="moduleheader">Commands</div> ==
;list pattern [SUSPENDED] [NOEXPIRE]
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ LIST *anope*
/,sg ChanServ LIST * NOEXPIRE
/msg ChanServ LIST #51-100
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_list
*
* Provides the commands:
* chanserv/list - Used for retrieving and searching the registered channel list.
* chanserv/set/private - Used for setting whether channels should show up in chanserv/list.
*/
module
{
name = "cs_list"
/*
* The maximum number of channels to be returned for a ChanServ LIST command.
*/
listmax = 50
}
command { service = "ChanServ"; name = "LIST"; command = "chanserv/list"; }
command { service = "ChanServ"; name = "SET PRIVATE"; command = "chanserv/set/private"; }
</syntaxhighlight></div>
b1f73903dda6c2aaa69ca92e94483b97a5c6f0d9
2.0/Modules/cs log
0
112
638
2014-05-06T16:23:21Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_log}} {{Syntax|cs_log|ChanServ|Anope}} == <div class="moduleheader">Description</div> == The LOG command allows users to configure logging settings ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_log}}
{{Syntax|cs_log|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
The LOG command allows users to configure logging settings for their channel. If no parameters are given this command lists the current logging methods in place for this channel.
Otherwise, command must be a command name, and method is one of the following logging methods:
MESSAGE [status], NOTICE [status], MEMO
Which are used to message, notice, and memo the channel respectively. With MESSAGE or NOTICE you must have a service bot assigned to and joined
to your channel. Status may be a channel status such as @ or +.
To remove a logging method use the same syntax as you would to add it.
== <div class="moduleheader">Commands</div> ==
;log channel
:
;log channel command method [status]
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ LOG
/msg ChanServ LOG #myChannel chanserv/access NOTICE @%~+
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_log
*
* Provides the command chanserv/log.
*
* Use for configuring what actions on channels are logged and where.
*/
module
{
name = "cs_log"
/* Default log settings for newly registered channels */
#default
{
command = "chanserv/modes"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "ACCESS"
method = "MESSAGE @"
}
#default
{
command = "chanserv/xop"
method = "MESSAGE @"
}
#default
{
service = "ChanServ"
command = "FLAGS"
method = "MESSAGE @"
}
}
command { service = "ChanServ"; name = "LOG"; command = "chanserv/log"; group = "chanserv/management"; }
</syntaxhighlight></div>
608c1ad3622f2fd8a0764ae1ca3ccb64939d5394
2.0/Modules/cs mode
0
113
640
2014-05-06T16:48:05Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_mode}} {{Syntax|cs_mode|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Mainly controls mode locks and mode access (which is diff..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_mode}}
{{Syntax|cs_mode|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Mainly controls mode locks and mode access (which is different from channel access) on a channel.
== <div class="moduleheader">Commands</div> ==
;mode channel LOCK {ADD|DEL|SET|LIST} [what]
:The MODE LOCK command allows you to add, delete, and view mode locks on a channel. If a mode is locked on or off, services will not allow that mode to be changed. The '''SET''' command will clear all existing mode locks and set the new one given, while '''ADD''' and '''DEL''' modify the existing mode lock.
;mode channel SET modes
:The MODE SET command allows you to set modes through services. Wildcards * and ? may be given as parameters for list and status modes.
;mode channel CLEAR [what]
:The MODE CLEAR command is an easy way to clear modes on a channel. what may be any mode name. Examples include bans, excepts, inviteoverrides, ops, halfops, and voices. If what is not given then all basic modes are removed.
;op channel [user]
:Gives OP status to the selected nick on a channel. If nick is not given, it will op you. You must have the OP(ME) privilege on the channel to use this command.
;deop channel [user]
:Removes OP status to the selected nick on a channel. If nick is not given, it will deop you. You must have the OP(ME) privilege on the channel to use this command.
;owner channel [user]
:Gives OWNER status to the selected nick on a channel. If nick is not given, it will owner you. You must have the OWNER(ME) privilege on the channel to use this command.
;deowner channel [user]
:Removes OWNER status to the selected nick on a channel. If nick is not given, it will deowner you. You must have the OWNER(ME) privilege on the channel to use this command.
;protect channel [user]
:Gives PROTECT status to the selected nick on a channel. If nick is not given, it will protect you. You must have the PROTECT(ME) privilege on the channel to use this command.
;deprotect channel [user]
:Removes PROTECT status to the selected nick on a channel. If nick is not given, it will deprotect you. You must have the PROTECT(ME) privilege on the channel to use this command.
;halfop channel [user]
:Gives HALFOP status to the selected nick on a channel. If nick is not given, it will halfop you. You must have the HALFOP(ME) privilege on the channel to use this command.
;dehalfop channel [user]
:Removes HALFOP status to the selected nick on a channel. If nick is not given, it will dehalfop you. You must have the HALFOP(ME) privilege on the channel to use this command.
;voice channel [user]
:Gives VOICE status to the selected nick on a channel. If nick is not given, it will voice you. You must have the VOICE(ME) privilege on the channel to use this command.
;devoice channel [user]
:Removes VOICE status to the selected nick on a channel. If nick is not given, it will devoice you. You must have the VOICE(ME) privilege on the channel to use this command.
== <div class="moduleheader">Examples</div> ==
/msg ChanServ MODE #myChannel LOCK SET +srt
/msg ChanServ MODE #myChannel SET +msl 2
/msg ChanServ MODE #myChannel CLEAR bans
/msg ChanServ OWNER #myChannel
/msg ChanServ DEOP #myChannel Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_mode
*
* Provides the command chanserv/mode and chanserv/modes.
*
* Used for changing mode locks and changing modes. Multiple commands may be mapped to chanserv/modes, the
* configuration directive 'set' and 'unset' are used to tell chanserv/modes which modes should be set or
* unset when the command is executed.
*/
module
{
name = "cs_mode"
/*
* Default modes for mode lock, these are set on newly registered channels.
*
* If not set, the default is +nt.
*/
mlock = "+nt"
}
command { service = "ChanServ"; name = "MODE"; command = "chanserv/mode"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "OWNER"; command = "chanserv/modes"; group = "chanserv/status"; set = "OWNER" }
command { service = "ChanServ"; name = "DEOWNER"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OWNER" }
command { service = "ChanServ"; name = "PROTECT"; command = "chanserv/modes"; group = "chanserv/status"; set = "PROTECT" }
command { service = "ChanServ"; name = "DEPROTECT"; command = "chanserv/modes"; group = "chanserv/status"; unset = "PROTECT" }
command { service = "ChanServ"; name = "OP"; command = "chanserv/modes"; group = "chanserv/status"; set = "OP" }
command { service = "ChanServ"; name = "DEOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "OP" }
command { service = "ChanServ"; name = "HALFOP"; command = "chanserv/modes"; group = "chanserv/status"; set = "HALFOP" }
command { service = "ChanServ"; name = "DEHALFOP"; command = "chanserv/modes"; group = "chanserv/status"; unset = "HALFOP" }
command { service = "ChanServ"; name = "VOICE"; command = "chanserv/modes"; group = "chanserv/status"; set = "VOICE" }
command { service = "ChanServ"; name = "DEVOICE"; command = "chanserv/modes"; group = "chanserv/status"; unset = "VOICE" }
</syntaxhighlight></div>
c4518005d3227773fc0f471c50fed8bf8fadefe0
2.0/Modules/cs register
0
114
642
2014-05-06T18:10:38Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_register}} {{Syntax|cs_register|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Registers a channel in the ChanServ database. In..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_register}}
{{Syntax|cs_register|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the '''ACCESS''' command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users. Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
'''NOTICE''': In order to register a channel, you must have first registered your nickname.
== <div class="moduleheader">Commands</div> ==
;register channel [description]
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ REGISTER #myChannel This is where we can meet and have fun!
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_register
*
* Provides the commands chanserv/register.
*
* Used for registering channels.
*/
module { name = "cs_register" }
command { service = "ChanServ"; name = "REGISTER"; command = "chanserv/register"; }
</syntaxhighlight></div>
901d310d93f78c3e6943114b3cffb2a4ed32dfb3
2.0/Modules/cs seen
0
115
645
644
2014-05-06T18:57:35Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_seen}}
{{Syntax|cs_seen|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Checks for the last time nick was seen joining, leaving, or changing nick on the network and tells you when and, depending on channel or user settings, where it was.
'''NOTE''': This command can be enabled for use by Channel operators by adding a command entry in the ChanServ configuration similar to this one:
:<div class="code">command { service = "ChanServ"; name = "SEEN"; command = "chanserv/seen"; permission = "chanserv/management"; }</div>
It is <ins>not</ins> enabled by default.
== <div class="moduleheader">Commands</div> ==
;SEEN nickname
== <div class="moduleheader">Examples</div> ==
/msg OperServ SEEN fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
</syntaxhighlight></div>
50043f3e73a842b91b3da1f62bdd53ba939f165d
644
2014-05-06T18:56:26Z
Azander
9
Created page with "wiki2.anope.org Module template: {{Language|2.0/Modules/cs_seen}} {{Syntax|cs_seen|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Checks for the last tim..."
wikitext
text/x-wiki
wiki2.anope.org Module template:
{{Language|2.0/Modules/cs_seen}}
{{Syntax|cs_seen|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Checks for the last time nick was seen joining, leaving, or changing nick on the network and tells you when and, depending on channel or user settings, where it was.
'''NOTE''': This command can be enabled for use by Channel operators by adding a command entry in the ChanServ configuration similar to this one:
:<div class="code">command { service = "ChanServ"; name = "SEEN"; command = "chanserv/seen"; permission = "chanserv/management"; }</div>
It is <ins>not</ins> enabled by default.
== <div class="moduleheader">Commands</div> ==
;SEEN nickname
== <div class="moduleheader">Examples</div> ==
/msg OperServ SEEN fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_seen
*
* Provides the commands chanserv/seen and operserv/seen.
*
* Records the last time a user was seen and what they were doing and allows users to request this data.
* Also allows administrators to view stats about seen data and purge the database.
*/
module
{
name = "cs_seen"
/* If set, uses the older 1.8 style seen, which is less resource intensive */
simple = false
/* Sets the time to keep seen entries in the seen database. */
purgetime = "30d"
/* Sets the delay between checks for expired seen entries. */
expiretimeout = "1d"
}
command { service = "OperServ"; name = "SEEN"; command = "operserv/seen"; permission = "operserv/seen"; }
</syntaxhighlight></div>
65abdb80300fb8a266429f40e33ffe1d2d4e86ba
2.0/Modules/cs set
0
116
647
2014-05-06T19:36:21Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_set}} {{Syntax|cs_set|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Allows the channel founder to set various channel options a..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_set}}
{{Syntax|cs_set|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows the channel founder to set various channel options and other information.
== <div class="moduleheader">Commands</div> ==
;SET AUTOOP channel on|off
:Enables or disables ChanServ's autoop feature for a channel. When disabled, users who join the channel will not automatically gain any status from ChanServ.
;SET BANTYPE channel bantype
:Sets the ban type that will be used by services whenever they need to ban someone from your channel.
:
:Bantype is a number between 0 and 3 that means:
:
::0: ban in the form *!user@host
::1: ban in the form *!*user@host
::2: ban in the form *!*@host
::3: ban in the form *!*user@*.domain >'''Recommended'''<
;SET DESC channel [description]
:Sets the description for the channel, which shows up with the '''LIST''' and '''INFO''' commands.
;SET DESCRIPTION channel [description]
:Sets the description for the channel, which shows up with the '''LIST''' and '''INFO''' commands.
;SET FOUNDER channel nick
: Changes the founder of a channel. The new nickname must be a registered one.
;SET KEEPMODES channel {on|off}
:Enables or disables keepmodes for the given channel. If keep modes is enabled, services will remember modes set on the channel and attempt to re-set them the next time the channel is created.
;SET KEEPTOPIC channel {on|off}
: Enables or disables the '''topic retention''' option for a channel. When '''set keeptopic''' is set, the topic for the channel will be remembered by ChanServ even after the last user leaves the channel, and will be restored the next time the channel is created.
;SET NOEXPIRE channel {on|off}
: Sets whether the given channel will expire. Setting this to ON prevents the channel from expiring. '''NOTE''': Access to this command requires the permission chanserv/saset/noexpire to be present in your opertype.
;SET PEACE channel {on|off}
: Enables or disables the peace option for a channel. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
;SET PERSIST channel {on|off}
:When persistent is set, the service bot will remain in the channel when it has emptied of users.
:If your IRCd does not have a permanent (persistent) channel mode you must have a service bot in your channel to set persist on, and it can not be unassigned while persist is on.
:If this network does not have BotServ enabled and does not have a permanent channel mode, ChanServ will join your channel when you set persist on (and leave when it has been set off).
:If your IRCd has a permanent (persistent) channel mode and it is set or unset (for any reason, including MODE LOCK), persist is automatically set and unset for the channel aswell. Additionally, services will set or unset this mode when you set persist on or off.
;SET PRIVATE channel {on|off}
:Enables or disables the private option for a channel. When private is set, the channel will not appear in ChanServ's LIST command.
;SET RESTRICTED channel {on|off}
:Enables or disables the restricted access option for a channel. When restricted access is set, users not on the access list will instead be kicked and banned from the channel.
;SET SECURE channel {on|off}
: Enables or disables security features for a channel. When set secure is set to ''ON''', only users who have registered their nicknames and IDENTIFY'd with their password will be given access to the channel as controlled by the access list.
;SET SECUREFOUNDER channel {on|off}
:Enables or disables the '''secure founder''' option for a channel. When '''secure founder'' is set, only the real founder will be able to drop the channel, change its founder and its successor, and not those who have founder level access through the access/qop command.
;SET SECUREOPS channel {on|off}
: Enables or disables the '''secure ops''' option for a channel. When '''secure ops''' is set, users who are not on the userlist will not be allowed chanop status.
;SET SIGNKICK channel {on|level|off}
:Enables or disables signed kicks for a channel. When '''SIGNKICK''' is set, kicks issued with the '''KICK''' command will have the nick that used the command in their reason.
:If you use '''LEVEL''', those who have a level that is superior or equal to the '''SIGNKICK''' level on the channel won't have their kicks signed.
;SET SUCCESSOR channel nick
:Changes the successor of a channel. If the founder's nickname expires or is dropped while the channel is still registered, the successor will become the new founder of the channel. The new nickname must be a registered one. '''However, if the successor already has too many channels registered (20), the channel will be dropped instead, just as if no successor had been set.'''
== <div class="moduleheader">Examples</div> ==
/msg ChanServ SET #myChannel SIGNKICK on
/msg ChanServ SET #myChannel KEEPTOPIC on
/msg ChanServ SET #myChannel SUCCESSOR Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_set
*
* Provides the commands:
* chanserv/set and chanserv/saset - Dummy help wrappers for the SET commands.
* chanserv/set/autoop - Used for configuring whether or not ChanServ automatically gives channel status to users.
* chanserv/set/bantype - Used for controlling what format of bans are placed on channels.
* chanserv/set/description - Used for changing channels descriptions.
* chanserv/set/founder - Used for changing a channel's founder.
* chanserv/set/keepmodes - Used for enabling or disabling keepmodes, which retains channel modes.
* chanserv/set/peace - Used for configuring if users are able to kick other users with higher access than them.
* chanserv/set/persist - Used for setting whether ChanServ should stay in channels after the last user leaves.
* chanserv/set/restricted - Used for setting whether users not on a channel's access list can join.
* chanserv/set/secure - Used for setting whether users who are recognized for accounts should have their access in channels.
* chanserv/set/securefounder - Used for setting whether users with founder level access in channels have true founder or not.
* chanserv/set/secureops - Used for restricting who can have channel op privilege in a channel to those whom have access in the channel.
* chanserv/set/signkick - Used for setting signkick, which appends the kicker's name to kicks sent through ChanServ.
* chanserv/set/successor - Used for setting channel successors, which become channel founders if the founders' account expires.
* chanserv/saset/noexpire - Used for setting noexpire, which prevents channels from expiring.
*
* This is a dummy command to provide a help wrapper for the various SET commands.
*/
module
{
name = "cs_set"
/*
* The default ban type for newly registered channels.
*
* defbantype can be:
*
* 0: ban in the form of *!user@host
* 1: ban in the form of *!*user@host
* 2: ban in the form of *!*@host
* 3: ban in the form of *!*user@*.domain
*/
defbantype = 2
/*
* If set, persisent channels have their creation times lowered to their
* original registration dates.
*/
persist_lower_ts = true
}
command { service = "ChanServ"; name = "SET"; command = "chanserv/set"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET AUTOOP"; command = "chanserv/set/autoop"; }
command { service = "ChanServ"; name = "SET BANTYPE"; command = "chanserv/set/bantype"; }
command { service = "ChanServ"; name = "SET DESCRIPTION"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET DESC"; command = "chanserv/set/description"; }
command { service = "ChanServ"; name = "SET FOUNDER"; command = "chanserv/set/founder"; }
command { service = "ChanServ"; name = "SET KEEPMODES"; command = "chanserv/set/keepmodes"; }
command { service = "ChanServ"; name = "SET PEACE"; command = "chanserv/set/peace"; }
command { service = "ChanServ"; name = "SET PERSIST"; command = "chanserv/set/persist"; }
command { service = "ChanServ"; name = "SET RESTRICTED"; command = "chanserv/set/restricted"; }
command { service = "ChanServ"; name = "SET SECURE"; command = "chanserv/set/secure"; }
command { service = "ChanServ"; name = "SET SECUREFOUNDER"; command = "chanserv/set/securefounder"; }
command { service = "ChanServ"; name = "SET SECUREOPS"; command = "chanserv/set/secureops"; }
command { service = "ChanServ"; name = "SET SIGNKICK"; command = "chanserv/set/signkick"; }
command { service = "ChanServ"; name = "SET SUCCESSOR"; command = "chanserv/set/successor"; }
command { service = "ChanServ"; name = "SET NOEXPIRE"; command = "chanserv/saset/noexpire"; permission = "chanserv/saset/noexpire"; }
</syntaxhighlight></div>
71c27d185e8e2102eb6ff75274d38e72789c8b2b
2.0/Modules/cs set misc
0
117
648
2014-05-06T19:41:33Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_set_misc}} {{Syntax|cs_set_misc|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Allows the channel founder to set various channel..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_set_misc}}
{{Syntax|cs_set_misc|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows the channel founder to set various channel options and other information.
== <div class="moduleheader">Commands</div> ==
;SET EMAIL channel email@address
:Associate an E-mail address with the channel
;SET URL
:Associate a URL with the channel
== <div class="moduleheader">Examples</div> ==
/msg ChanServ SET #myChannel EMAIL fred@example.org
/msg ChanServ SET #myChannel URL http://www.fredsplace.org
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_set_misc
*
* Provides the command chanserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in chanserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "cs_set_misc" }
command { service = "ChanServ"; name = "SET URL"; command = "chanserv/set/misc"; misc_description = _("Associate a URL with the channel"); }
command { service = "ChanServ"; name = "SET EMAIL"; command = "chanserv/set/misc"; misc_description = _("Associate an E-mail address with the channel"); }
</syntaxhighlight></div>
81eda81dff263fce7bafa7bb989f8f05dffd515c
2.0/Modules/cs status
0
118
649
2014-05-06T19:44:17Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_status}} {{Syntax|cs_status|ChanServ|Anope}} == <div class="moduleheader">Description</div> == This command tells you what a users access is on a ch..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_status}}
{{Syntax|cs_status|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command tells you what a users access is on a channel and what access entries, if any, they match. Additionally it will tell you of any auto kick entries they match. Usage of this command is limited to users who have the ability to modify access entries on the channel.
== <div class="moduleheader">Commands</div> ==
;status channel [user]
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ STATUS #myChannel Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_status
*
* Provides the command chanserv/status.
*
* Used for determining a user's access on a channel and whether
* or not they match any autokick entries.
*/
module { name = "cs_status" }
command { service = "ChanServ"; name = "STATUS"; command = "chanserv/status"; }
</syntaxhighlight></div>
dd52cba8b0509e1bd1f6733db3b8230e3b31ee14
2.0/Modules/cs statusupdate
0
125
704
664
2014-05-07T20:37:10Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_statusupdate}}
{{Syntax|cs_statusupdate|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
This module automatically updates users status on channels when the channel's access list is modified.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight></div>
1d81f2b82ab5fc137f25f510d139c8d38357e478
664
2014-05-06T21:21:35Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_statusupdate}} {{Syntax|cs_statusupdate|ChanServ|Anope}} == <div class="moduleheader">Description</div> == This module automatically updates users s..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_statusupdate}}
{{Syntax|cs_statusupdate|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
This module automatically updates users status on channels when the channel's access list is modified.
== <div class="moduleheader">Commands</div> ==
====none====
== <div class="moduleheader">Examples</div> ==
====none====
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_statusupdate
*
* This module automatically updates users status on channels when the
* channel's access list is modified.
*/
module { name = "cs_statusupdate" }
</syntaxhighlight></div>
187feaa476088f1036eb3e2cced4cbfea33f3603
2.0/Modules/cs suspend
0
119
650
2014-05-06T19:55:02Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_suspend}} {{Syntax|cs_suspend|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Disallows anyone from using the given channel when ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_suspend}}
{{Syntax|cs_suspend|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Disallows anyone from using the given channel when suspended.
== <div class="moduleheader">Commands</div> ==
;suspend channel [+expiry] [reason]
:Disallows anyone from using the given channel. May be cancelled by using the '''UNSUSPEND''' command to preserve all previous channel data/settings. If an expiry is given the channel will be unsuspended after that period of time, else the default expiry from the configuration is used.
:Reason may be required on certain networks.
:''Access to this command requires the permission chanserv/suspend to be present in your opertype.''
;unsuspend channel
:Releases a suspended channel. All data and settings are preserved from before the suspension.
:''Access to this command requires the permission chanserv/suspend to be present in your opertype.''
== <div class="moduleheader">Examples</div> ==
/msg ChanServ SUSPEND #myChannel +30d Locked out for abuse.
/msg ChanServ UNSUSPEND #myChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_suspend
*
* Provides the commands chanserv/suspend and chanserv/unsuspend.
*
* Used for suspending and unsuspending channels. Suspended channels can not be used but their settings are stored.
*/
module
{
name = "cs_suspend"
/*
* The length of time before a suspended channel expires.
*
* This directive is optional.
* If not set, the default is never.
*/
expire = 90d
}
command { service = "ChanServ"; name = "SUSPEND"; command = "chanserv/suspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
command { service = "ChanServ"; name = "UNSUSPEND"; command = "chanserv/unsuspend"; permission = "chanserv/suspend"; group = "chanserv/admin"; }
</syntaxhighlight></div>
96e4cfcbd34cd215816d26331fbd351e5befeb4d
2.0/Modules/cs sync
0
120
652
2014-05-06T20:09:44Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_sync}} {{Syntax|cs_sync|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Syncs all modes set on users on the channel with the mode..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_sync}}
{{Syntax|cs_sync|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Syncs all modes set on users on the channel with the modes they should have based on their access.
== <div class="moduleheader">Commands</div> ==
;sync channel
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ SYNC #myChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_sync
*
* Provides the command chanserv/sync.
*
* Used to sync users channel status modes with what access they have.
*/
module { name = "cs_sync" }
command { service = "ChanServ"; name = "SYNC"; command = "chanserv/sync"; group = "chanserv/management"; }
</syntaxhighlight></div>
27e02a0c61ba35e88d292262c11ac0fe37886459
2.0/Modules/cs topic
0
121
654
2014-05-06T20:15:46Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_topic}} {{Syntax|cs_topic|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Allows manipulating the topic of the specified channel...."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_topic}}
{{Syntax|cs_topic|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows manipulating the topic of the specified channel.
== <div class="moduleheader">Commands</div> ==
;topic channel SET [topic]
:The SET command changes the topic of the channel to the given topic or unsets the topic if no topic is given.
;topic channel APPEND topic
:The APPEND command appends the given topic to the existing topic.
;topic channel [UNLOCK|LOCK]
:LOCK and UNLOCK may be used to enable and disable topic lock. When topic lock is set, the channel topic will be unchangeable except via this command.
== <div class="moduleheader">Examples</div> ==
/msg ChanServ TOPIC #myChannel SET Eat at Joe's!
/msg ChanServ TOPIC #myChannel APPEND Happy Hour from 4 to 6pm.
/msg ChanSerc TOPIC #myChannel LOCK
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_topic
*
* Provides the commands:
* chanserv/topic - Used for changing the channel topic. Useful in conjunction with chanserv/set/topiclock.
* chanserv/set/keeptopic - Used for configuring if ChanServ is to restore the channel topic when a channel is created.
*
*/
module { name = "cs_topic" }
command { service = "ChanServ"; name = "TOPIC"; command = "chanserv/topic"; group = "chanserv/management"; }
command { service = "ChanServ"; name = "SET KEEPTOPIC"; command = "chanserv/set/keeptopic"; }
</syntaxhighlight></div>
15eb6923a40637e302da64a2b04b93dfd7021f5d
2.0/Modules/cs unban
0
122
657
2014-05-06T20:36:23Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_unban}} {{Syntax|cs_unban|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Tells ChanServ to remove all bans preventing you or the..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_unban}}
{{Syntax|cs_unban|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Tells ChanServ to remove all bans preventing you or the given user from entering the given channel. If no channel is given, all bans affecting you in channels you have access in are removed.
By default, limited to AOPs or those with level 5 and above on the channel.
== <div class="moduleheader">Commands</div> ==
;unban channel [nick]
:
== <div class="moduleheader">Examples</div> ==
/msg ChanServ UNBAN #myChannel Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_unban
*
* Provides the command chanserv/unban.
*
* Used for unbanning users from channels.
*/
module { name = "cs_unban" }
command { service = "ChanServ"; name = "UNBAN"; command = "chanserv/unban"; }
</syntaxhighlight></div>
69744d993a1287398daadfa5e042c0764abe25ab
2.0/Modules/cs up
0
138
706
2014-05-07T20:39:35Z
Azander
9
Azander moved page [[2.0/Modules/cs up]] to [[2.0/Modules/cs updown]]
wikitext
text/x-wiki
#REDIRECT [[2.0/Modules/cs updown]]
30f40bfd2ee39b75004687cfdff38b09b80bbef1
2.0/Modules/cs updown
0
123
705
660
2014-05-07T20:39:34Z
Azander
9
Azander moved page [[2.0/Modules/cs up]] to [[2.0/Modules/cs updown]]
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_updown}}
{{Syntax|cs_updown|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Updates or removes a selected nicks status on a channel.
== <div class="moduleheader">Commands</div> ==
;up [channel [nick]]
:Updates a selected nicks status modes on a channel. If nick is ommited then your status is updated. If channel is ommited then your channel status is updated on every channel you are in.
;down [channel [nick]]
:Removes a selected nicks status modes on a channel. If nick is ommited then your status is removed. If channel is ommited then your channel status is removed on every channel you are in.
== <div class="moduleheader">Examples</div> ==
/msg ChanServ UP
/msg ChanServ DOWN #myChannel Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
</syntaxhighlight></div>
94cea451510f513f79a1c3c32538947679495c76
660
2014-05-06T20:44:37Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_updown}} {{Syntax|cs_updown|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Updates or removes a selected nicks status on a chann..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_updown}}
{{Syntax|cs_updown|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Updates or removes a selected nicks status on a channel.
== <div class="moduleheader">Commands</div> ==
;up [channel [nick]]
:Updates a selected nicks status modes on a channel. If nick is ommited then your status is updated. If channel is ommited then your channel status is updated on every channel you are in.
;down [channel [nick]]
:Removes a selected nicks status modes on a channel. If nick is ommited then your status is removed. If channel is ommited then your channel status is removed on every channel you are in.
== <div class="moduleheader">Examples</div> ==
/msg ChanServ UP
/msg ChanServ DOWN #myChannel Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_updown
*
* Provides the commands chanserv/up and chanserv/down.
*
* Used for setting or removing your status modes on a channel.
*/
module { name = "cs_updown" }
command { service = "ChanServ"; name = "DOWN"; command = "chanserv/down"; group = "chanserv/status"; }
command { service = "ChanServ"; name = "UP"; command = "chanserv/up"; group = "chanserv/status"; }
</syntaxhighlight></div>
94cea451510f513f79a1c3c32538947679495c76
2.0/Modules/cs xop
0
124
662
2014-05-06T21:14:20Z
Azander
9
Created page with "{{Language|2.0/Modules/cs_xop}} {{Syntax|cs_xop|ChanServ|Anope}} == <div class="moduleheader">Description</div> == Maintains the xOP list for a channel. Alternative method..."
wikitext
text/x-wiki
{{Language|2.0/Modules/cs_xop}}
{{Syntax|cs_xop|ChanServ|Anope}}
== <div class="moduleheader">Description</div> ==
Maintains the xOP list for a channel.
Alternative methods of modifying channel access lists are available. See /msg ChanServ HELP FLAGS for more information about the access list.
The higher xOP inherits all the lower xOP's privileges. These are listed in Highest to lowest order.
Where xOP is one of:
===== QOP =====
:Maintains the QOP (Quintessential OP, usually called Owner) list for a channel. The QOP commands are limited to founders (unless SECUREOPS is off). However, any user on the VOP list or above may use the QOP LIST command.
:
:Users who match an access entry on the AOP list receive the following privileges:
::ASSIGN, AUTOOWNER, FOUNDER, INFO, MODE, OWNER, OWNERME, PROTECT, SET, SIGNKICK
===== SOP =====
:Maintains the SOP (Super OP, sometimes called admin) list for a channel. The SOP commands are limited to founders (unless SECUREOPS is off). However, any user on the VOP list or above may use the SOP LIST command.
:
:Users who match an access entry on the SOP list receive the following privileges:
::ACCESS_CHANGE, AKICK, AUTOPROTECT, BADWORDS, MEMO, OP
===== AOP =====
:Maintains the AOP (Auto OP) list for a channel. The AOP commands are limited to founders (unless SECUREOPS is off). However, any user on the VOP list or above may use the AOP LIST command.
:
:Users who match an access entry on the AOP list receive the following privileges:
::GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC
===== HOP =====
:Maintains the HOP (Half-OP) list for a channel. The HOP commands are limited to founders (unless SECUREOPS is off). However, any user on the VOP list or above may use the HOP LIST command.
:
:Users who match an access entry on the HOP list receive the following privileges:
::AUTOHALFOP, BAN, HALFOPME, KICK, UNBAN, VOICE
===== VOP =====
:Maintains the VOP (Voice) list for a channel. The VOP commands are limited to founders (unless SECUREOPS is off). However, any user on the VOP list or above may use the VOP LIST command.
:
:Users who match an access entry on the VOP list receive the following privileges:
::ACCESS_LIST, AUTOVOICE, FANTASIA, NOKICK, VOICEME
== <div class="moduleheader">Commands</div> ==
;QOP channel ADD mask
:The QOP ADD command adds the given nickname to the QOP list.
;QOP channel DEL {mask | entry-num | list}
:The QOP DEL command removes the given nick from the QOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
;QOP channel LIST [mask | list]
:The QOP LIST command displays the QOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown.
;QOP channel CLEAR
:The QOP CLEAR command clears all entries of the QOP list.
;SOP channel ADD mask
:The SOP ADD command adds the given nickname to the SOP list.
;SOP channel DEL {mask | entry-num | list}
:The SOP DEL command removes the given nick from the SOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
;SOP channel LIST [mask | list]
:The SOP LIST command displays the SOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown.
;SOP channel CLEAR
:The SOP CLEAR command clears all entries of the SOP list.
;AOP channel ADD mask
:The AOP ADD command adds the given nickname to the AOP list.
;AOP channel DEL {mask | entry-num | list}
:The AOP DEL command removes the given nick from the AOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
;AOP channel LIST [mask | list]
:The AOP LIST command displays the AOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown.
;AOP channel CLEAR
:The AOP CLEAR command clears all entries of the AOP list.
;HOP channel ADD mask
:The HOP ADD command adds the given nickname to the HOP list.
;HOP channel DEL {mask | entry-num | list}
:The HOP DEL command removes the given nick from the HOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
;HOP channel LIST [mask | list]
:The HOP LIST command displays the HOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown.
;HOP channel CLEAR
:The HOP CLEAR command clears all entries of the HOP list.
;VOP channel ADD mask
:The VOP ADD command adds the given nickname to the VOP list.
;VOP channel DEL {mask | entry-num | list}
:The VOP DEL command removes the given nick from the VOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
;VOP channel LIST [mask | list]
:The VOP LIST command displays the VOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown.
;VOP channel CLEAR
:The VOP CLEAR command clears all entries of the VOP list.
== <div class="moduleheader">Examples</div> ==
/msg ChanServ VOP #myChannel ADD Barney@*.example.com
/msg ChanServ HOP #myChannel DEL 3
/msg ChanServ AOP #myChannel LIST
/msg ChanServ SOP #myChannel CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* cs_xop
*
* Provides the command chanserv/xop.
* Provides the access system "XOP".
*
* Used for giving users access in channels. Many commands may be linked to chanserv/xop, but the
* privileges given by each is determined by the privilege:xop settings above. These commands should
* be ordered from highest to lowest, as each command inherits the privileges of the commands below
* it.
*
* The "LIST" subcommand of chanserv/xop will show only XOP access entries of the given XOP type. You
* can not view the entire access list at once, and instead should use another access system to do that.
*/
module { name = "cs_xop" }
command { service = "ChanServ"; name = "QOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "SOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "AOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "HOP"; command = "chanserv/xop"; group = "chanserv/access"; }
command { service = "ChanServ"; name = "VOP"; command = "chanserv/xop"; group = "chanserv/access"; }
</syntaxhighlight></div>
74886584b9fcb6bf0257d6b92d9c4af51e929209
2.0/Modules/enc bcrypt
0
217
967
2014-05-19T21:12:23Z
Azander
9
Created page with "{{Language|2.0/Modules/enc_bcrypt}} {{Header|enc_bcrypt|Encryption|Anope}} == <div class="moduleheader">Description</div> == Encrypts passwords using the Blowfish hashing met..."
wikitext
text/x-wiki
{{Language|2.0/Modules/enc_bcrypt}}
{{Header|enc_bcrypt|Encryption|Anope}}
== <div class="moduleheader">Description</div> ==
Encrypts passwords using the Blowfish hashing method.
;rounds= :Range is 1 to 31. Recommended is 10 to 12. Number of rounds to process while hashing the password.
*'''NOTE''': This module is not enabled by default.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
module {
name = "enc_bcrypt"
rounds = 10
}
bb2b5e1c1bdf138f0a1d0c4b2b619f60e083540b
2.0/Modules/hs del
0
151
743
2014-05-08T18:50:19Z
Azander
9
Created page with "{{Language|2.0/Modules/hs_del}} {{Syntax|hs_del|HostServ|Anope}} == <div class="moduleheader">Description</div> == Deletes the vhost assigned to the given nick from the datab..."
wikitext
text/x-wiki
{{Language|2.0/Modules/hs_del}}
{{Syntax|hs_del|HostServ|Anope}}
== <div class="moduleheader">Description</div> ==
Deletes the vhost assigned to the given nick from the database.
Access to this command requires the permission hostserv/del to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;del nick
;delall nick
== <div class="moduleheader">Examples</div> ==
/msg HostServ DEL Fred
/msg HostServ DELALL Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* hs_del
*
* Provides the commands hostserv/del and hostserv/delall.
*
* Used for removing users' vHosts.
*/
module { name = "hs_del" }
command { service = "HostServ"; name = "DEL"; command = "hostserv/del"; permission = "hostserv/del"; }
command { service = "HostServ"; name = "DELALL"; command = "hostserv/delall"; permission = "hostserv/del"; }
</syntaxhighlight></div>
49a8f173d04f0b200d97337e70fb1532cd60e283
2.0/Modules/hs group
0
152
745
2014-05-08T18:54:14Z
Azander
9
Created page with "{{Language|2.0/Modules/hs_group}} {{Syntax|hs_group|HostServ|Anope}} == <div class="moduleheader">Description</div> == This command allows users to set the vhost of their CUR..."
wikitext
text/x-wiki
{{Language|2.0/Modules/hs_group}}
{{Syntax|hs_group|HostServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command allows users to set the vhost of their CURRENT nick to be the vhost for all nicks in the same group.
== <div class="moduleheader">Commands</div> ==
;group
== <div class="moduleheader">Examples</div> ==
/msg HostServ GROUP
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* hs_group
*
* Provides the command hostserv/group.
*
* Used for grouping one vHost to many nicks.
*/
module
{
name = "hs_group"
/*
* Upon nickserv/group, this option syncs the nick's main vHost to the grouped nick.
*/
syncongroup = false
/*
* This makes vhosts act as if they are per account.
*/
synconset = false
}
command { service = "HostServ"; name = "GROUP"; command = "hostserv/group"; }
</syntaxhighlight></div>
263b9d1ac1a2326e514f12cf271498ecc8c2c51f
2.0/Modules/hs list
0
153
748
2014-05-08T19:01:02Z
Azander
9
Created page with "{{Language|2.0/Modules/hs_list}} {{Syntax|hs_list|HostServ|Anope}} == <div class="moduleheader">Description</div> == This command lists registered vhosts to the operator if a..."
wikitext
text/x-wiki
{{Language|2.0/Modules/hs_list}}
{{Syntax|hs_list|HostServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command lists registered vhosts to the operator if a key is specified, only entries whos nick or vhost match the pattern given in key are displayed e.g. Rob* for all entries beginning with "Rob"
If a #X-Y style is used, only entries between the range of X and Y will be displayed, e.g. #1-3 will display the first 3 nick/vhost entries.
'''NOTE''': Access to this command requires the permission hostserv/list to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;list [key|#X-Y]
== <div class="moduleheader">Examples</div> ==
/msg HostServ LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* hs_list
*
* Provides the command hostserv/list.
*
* Used for listing actively set vHosts.
*/
module { name = "hs_list" }
command { service = "HostServ"; name = "LIST"; command = "hostserv/list"; permission = "hostserv/list"; }
</syntaxhighlight></div>
aec5c429a937d8ea16b9de3a56efd903a0b6d51e
2.0/Modules/hs off
0
154
750
2014-05-08T19:06:23Z
Azander
9
Created page with "{{Language|2.0/Modules/hs_off}} {{Syntax|hs_off|HostServ|Anope}} == <div class="moduleheader">Description</div> == Deactivates the vhost currently assigned to the nick in us..."
wikitext
text/x-wiki
{{Language|2.0/Modules/hs_off}}
{{Syntax|hs_off|HostServ|Anope}}
== <div class="moduleheader">Description</div> ==
Deactivates the vhost currently assigned to the nick in use. When you use this command any user who performs a /whois on you will see your real host/IP address.
== <div class="moduleheader">Commands</div> ==
;off
== <div class="moduleheader">Examples</div> ==
/msg HostServ OFF
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* hs_off
*
* Provides the command hostserv/off.
*
* Used for turning off your vHost.
*/
module { name = "hs_off" }
command { service = "HostServ"; name = "OFF"; command = "hostserv/off"; }
</syntaxhighlight></div>
7b63521159211c949a5f773e24cbbe557de50aee
2.0/Modules/hs on
0
155
751
2014-05-08T19:07:39Z
Azander
9
Created page with "{{Language|2.0/Modules/hs_on}} {{Syntax|hs_on|HostServ|Anope}} == <div class="moduleheader">Description</div> == Activates the vhost currently assigned to the nick in use. Wh..."
wikitext
text/x-wiki
{{Language|2.0/Modules/hs_on}}
{{Syntax|hs_on|HostServ|Anope}}
== <div class="moduleheader">Description</div> ==
Activates the vhost currently assigned to the nick in use. When you use this command any user who performs a /whois on you will see the vhost instead of your real host/IP address.
== <div class="moduleheader">Commands</div> ==
;on
== <div class="moduleheader">Examples</div> ==
/msg HostServ ON
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* hs_on
*
* Provides the command hostserv/on.
*
* Used for turning on your vHost.
*/
module { name = "hs_on" }
command { service = "HostServ"; name = "ON"; command = "hostserv/on"; }
</syntaxhighlight></div>
abb69b41bd8d1995fcd2f95c1d5261483a12f95e
2.0/Modules/hs request
0
156
755
2014-05-08T19:18:30Z
Azander
9
Created page with "{{Language|2.0/Modules/hs_request}} {{Syntax|hs_request|HostServ|Anope}} == <div class="moduleheader">Description</div> == ;REQUEST :Request the given vHost to be actived for..."
wikitext
text/x-wiki
{{Language|2.0/Modules/hs_request}}
{{Syntax|hs_request|HostServ|Anope}}
== <div class="moduleheader">Description</div> ==
;REQUEST :Request the given vHost to be actived for your nick by the network administrators. Please be patient while your request is being considered.
;ACTIVATE :Activate the requested vHost for the given nick. '''NOTE''': Access to this command requires the permission hostserv/set to be present in your ''opertype''.
;REJECT :Reject the requested vHost for the given nick. '''NOTE''': Access to this command requires the permission hostserv/set to be present in your ''opertype''.
;WAITING : This command retrieves the vhost requests. '''NOTE''': Access to this command requires the permission hostserv/set to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;request vhost
;activate nick
;reject nick [reason]
;waiting
== <div class="moduleheader">Examples</div> ==
/msg HostServ REQUEST I.am.Fred
/msg HostServ WAITING
/msg HostServ REJECT Fred We do not allow vhosts of that nature.
/msg HostServ ACTIVATE Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* hs_request
*
* Provides the commands hostserv/request, hostserv/activate, hostserv/reject, and hostserv/waiting.
*
* Used to manage vHosts requested by users.
*/
module
{
name = "hs_request"
/*
* If set, Services will send a memo to the user requesting a vHost when it's been
* approved or rejected.
*/
#memouser = yes
/*
* If set, Services will send a memo to all Services staff when a new vHost is requested.
*/
#memooper = yes
}
command { service = "HostServ"; name = "REQUEST"; command = "hostserv/request"; }
command { service = "HostServ"; name = "ACTIVATE"; command = "hostserv/activate"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "REJECT"; command = "hostserv/reject"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "WAITING"; command = "hostserv/waiting"; permission = "hostserv/set"; }
</syntaxhighlight></div>
2b08eb39022721b4d3b314915692b57ca8d8f178
2.0/Modules/hs set
0
157
757
2014-05-08T19:24:34Z
Azander
9
Created page with "{{Language|2.0/Modules/hs_set}} {{Syntax|hs_set|HostServ|Anope}} == <div class="moduleheader">Description</div> == ;SET :Sets the vhost for the given nick to that of the give..."
wikitext
text/x-wiki
{{Language|2.0/Modules/hs_set}}
{{Syntax|hs_set|HostServ|Anope}}
== <div class="moduleheader">Description</div> ==
;SET :Sets the vhost for the given nick to that of the given hostmask. If your IRCD supports vIdents, then using SET <nick> <ident>@<hostmask> set idents for users as well as vhosts. '''NOTE''': Access to this command requires the permission hostserv/set to be present in your ''opertype''.
;SETALL :Sets the vhost for all nicks in the same group as that of the given nick. If your IRCD supports vIdents, then using SETALL <nick> <ident>@<hostmask> will set idents for users as well as vhosts. '''NOTE''': this will not update the vhost for any nicks added to the group after this command was used. '''NOTE''': Access to this command requires the permission hostserv/set to be present in your '''opertype'''.
== <div class="moduleheader">Commands</div> ==
;set nick hostmask
;setall nick hostmask
== <div class="moduleheader">Examples</div> ==
/msg HostServ SET Fred I.am.Fred
/msg HostServ SETALL Fred I.am.also.Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* hs_set
*
* Provides the commands hostserv/set and hostserv/setall.
*
* Used for setting users' vHosts.
*/
module { name = "hs_set" }
command { service = "HostServ"; name = "SET"; command = "hostserv/set"; permission = "hostserv/set"; }
command { service = "HostServ"; name = "SETALL"; command = "hostserv/setall"; permission = "hostserv/set"; }
</syntaxhighlight></div>
f5312d5b989939ccb2c443a33a2e2c1b7589dfd7
2.0/Modules/inspircd12
0
191
831
2014-05-09T15:26:19Z
Azander
9
Created page with "{{Language|2.0/Modules/inspirecd12}} {{Header|inspirecd20|Protocol|Anope}} == <div class="moduleheader">Description</div> == *'''NOTE''': You must select the correct protoco..."
wikitext
text/x-wiki
{{Language|2.0/Modules/inspirecd12}}
{{Header|inspirecd20|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
f0f5b24890644c0a78aac9b7057c6add10b75948
2.0/Modules/inspircd20
0
192
832
2014-05-09T15:27:24Z
Azander
9
Created page with "{{Language|2.0/Modules/inspirecd20}} {{Header|inspirecd20|Protocol|Anope}} == <div class="moduleheader">Description</div> == *'''NOTE''': You must select the correct protoco..."
wikitext
text/x-wiki
{{Language|2.0/Modules/inspirecd20}}
{{Header|inspirecd20|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
56ee8689180176d2bc0d850c53dad80d99d2b273
2.0/Modules/m chanstats
0
214
1170
940
2024-01-15T21:05:10Z
Pegasus
41
Fixed some typos
wikitext
text/x-wiki
{{Language|2.0/Modules/m_chanstats}}
{{Header|m_chanstats|Stats_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
This specialized collection is 3 separate modules in one big group module.
*<span style="color: red;">Enabled/Disabled using the '''./extra''' command line configuration tool.</span>
*'''NOTE''': Requires ChanServ, NickServ, and m_mysql modules to be active.
;m_chanstats :
:;name= :Name of the module
:;engine= :backend internal name of this engine
:;prefix= :SQL database table prefix
:;smileyshappy= :defined happy emoticons
:;smileyssad= :defined sad emoticons
:;smileysother= :defined other emoticons
:;ns_def_chanstats= :define stats for newly registered nicknames
:;cs_def_chanstats= :define stats for newly registered channels
;cs_fantasy_stats :
:;name= :Name of module
;cs_fantasy_top :
:;name= :Name of module
== <div class="moduleheader">Commands</div> ==
;m_chanstats :
:;ChanServ :SET CHANSTATS
:;NickServ :SET CHANSTATS
::SASET CHANSTATS
;cs_fantasy_stats :
:;ChanServ :STATS
::GSTATS
:;fantasy :!STATS
::!GSTATS
;cs_fantasy_top :
:;ChanServ :TOP
::TOP10
::GTOP
::GTOP10
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight></div>
d4be48d5d2be98ede8825d9cfc676c9f6a64ba6f
940
939
2014-05-13T19:45:45Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_chanstats}}
{{Header|m_chanstats|Stats_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
This specialized collection is 3 separate modules in one big group module.
*<span style="color: red;">Enabeled/Disabeled using the '''./extra''' command line configuration tool.</span>
*'''NOTE''': Requires ChanServ, NickServ, and m_mysql modules to be active.
;m_chanstats :
:;name= :Name of the module
:;engine= :backend internal name of this engine
;:prefix= :SQL database table prefix
;:smileyshappy= :defined happy emoticons
:;smileyssad= :defined sad emoticons
:;smileysother= :defined other emoticons
:;ns_def_chanstats= :define stats for newly registered nicknames
:;cs_def_chanstats= :define stats for newly registered channels
;cs_fantasy_stats :
:;name= :Name of module
;cs_fantasy_top :
:;name= :Name of module
== <div class="moduleheader">Commands</div> ==
;m_chanstats :
:;ChanServ :SET CHANSTATS
:;NickServ :SET CHANSTATS
::SASET CHANSTATS
;cs_fantasy_stats :
:;ChanServ :STATS
::GSTATS
:;fantasy :!STATS
::!GSTATS
;cs_fantasy_top :
:;ChanServ :TOP
::TOP10
::GTOP
::GTOP10
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight></div>
6ed9793938c8fbba93999e90e6086cc91e00eb2d
939
938
2014-05-13T19:44:16Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_chanstats}}
{{Header|m_chanstats|Stats_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
This specialized collection is 3 separate modules in one big group module.
*Enabeled/Disabeled using the '''./extra''' command line configuration tool.
*'''NOTE''': Requires ChanServ, NickServ, and m_mysql modules to be active.
;m_chanstats :
:;name= :Name of the module
:;engine= :backend internal name of this engine
;:prefix= :SQL database table prefix
;:smileyshappy= :defined happy emoticons
:;smileyssad= :defined sad emoticons
:;smileysother= :defined other emoticons
:;ns_def_chanstats= :define stats for newly registered nicknames
:;cs_def_chanstats= :define stats for newly registered channels
;cs_fantasy_stats :
:;name= :Name of module
;cs_fantasy_top :
:;name= :Name of module
== <div class="moduleheader">Commands</div> ==
;m_chanstats :
:;ChanServ :SET CHANSTATS
:;NickServ :SET CHANSTATS
::SASET CHANSTATS
;cs_fantasy_stats :
:;ChanServ :STATS
::GSTATS
:;fantasy :!STATS
::!GSTATS
;cs_fantasy_top :
:;ChanServ :TOP
::TOP10
::GTOP
::GTOP10
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight></div>
0e8fd9e535dd1d39af5e5ff9e5d2c40fc28668ad
938
937
2014-05-13T19:37:52Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_chanstats}}
{{Header|m_chanstats|Stats_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
This specialized collection is 3 separate modules in one big group module.
*'''NOTE''': Requires ChanServ, NickServ, and m_mysql modules to be active.
*Enabeled/Disabeled using the '''./extra''' command line configuration tool.
;m_chanstats :
:;name= :Name of the module
:;engine= :backend internal name of this engine
;:prefix= :SQL database table prefix
;:smileyshappy= :defined happy emoticons
:;smileyssad= :defined sad emoticons
:;smileysother= :defined other emoticons
:;ns_def_chanstats= :define stats for newly registered nicknames
:;cs_def_chanstats= :define stats for newly registered channels
;cs_fantasy_stats :
:;name= :Name of module
;cs_fantasy_top :
:;name= :Name of module
== <div class="moduleheader">Commands</div> ==
;m_chanstats :
:;ChanServ :SET CHANSTATS
:;NickServ :SET CHANSTATS
::SASET CHANSTATS
;cs_fantasy_stats :
:;ChanServ :STATS
::GSTATS
:;fantasy :!STATS
::!GSTATS
;cs_fantasy_top :
:;ChanServ :TOP
::TOP10
::GTOP
::GTOP10
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight></div>
03bd7fd8c748e80ad7d8bf1b8d7167c5ecbc83d0
937
2014-05-13T19:34:41Z
Azander
9
Created page with "{{Language|2.0/Modules/m_chanstats}} {{Header|m_chanstats|Stats_Modules|Anope}} == <div class="moduleheader">Description</div> == This specialized collection is 3 separate mo..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_chanstats}}
{{Header|m_chanstats|Stats_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
This specialized collection is 3 separate modules in one big group module.
*'''NOTE''': Requires ChanServ, NickServ, and m_mysql modules to be active.
;m_chanstats :
:;name= :Name of the module
:;engine= :backend internal name of this engine
;:prefix= :SQL database table prefix
;:smileyshappy= :defined happy emoticons
:;smileyssad= :defined sad emoticons
:;smileysother= :defined other emoticons
:;ns_def_chanstats= :define stats for newly registered nicknames
:;cs_def_chanstats= :define stats for newly registered channels
;cs_fantasy_stats :
:;name= :Name of module
;cs_fantasy_top :
:;name= :Name of module
== <div class="moduleheader">Commands</div> ==
;m_chanstats :
:;ChanServ :SET CHANSTATS
:;NickServ :SET CHANSTATS
::SASET CHANSTATS
;cs_fantasy_stats :
:;ChanServ :STATS
::GSTATS
:;fantasy :!STATS
::!GSTATS
;cs_fantasy_top :
:;ChanServ :TOP
::TOP10
::GTOP
::GTOP10
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* Example configuration file for Chanstats.
* Make sure BotServ, ChanServ and NickServ are running.
*/
module
{
name = "m_chanstats"
/*
* The name of this engine.
* This must match with the name of an SQL engine block.
*/
engine = "mysql/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
prefix = "anope_"
smileyshappy = ":) :-) ;) ;-) :D :-D :P :-P"
smileyssad = ":( :-( ;( ;-("
smileysother = ":/ :-/"
/*
* Enable Chanstats for newly registered nicks / channels.
*/
ns_def_chanstats = yes
cs_def_chanstats = yes
}
command { service = "ChanServ"; name = "SET CHANSTATS"; command = "chanserv/set/chanstats"; }
command { service = "NickServ"; name = "SET CHANSTATS"; command = "nickserv/set/chanstats"; }
command { service = "NickServ"; name = "SASET CHANSTATS"; command = "nickserv/saset/chanstats"; }
module { name = "cs_fantasy_stats" }
command { service = "ChanServ"; name = "STATS"; command = "chanserv/stats"; }
command { service = "ChanServ"; name = "GSTATS"; command = "chanserv/gstats"; }
fantasy { name = "STATS"; command = "chanserv/stats"; }
fantasy { name = "GSTATS"; command = "chanserv/gstats"; }
module { name = "cs_fantasy_top" }
command { service = "ChanServ"; name = "TOP"; command = "chanserv/top"; }
command { service = "ChanServ"; name = "TOP10"; command = "chanserv/top10"; }
command { service = "ChanServ"; name = "GTOP"; command = "chanserv/gtop"; }
command { service = "ChanServ"; name = "GTOP10"; command = "chanserv/gtop10"; }
fantasy { name = "TOP"; command = "chanserv/top"; }
fantasy { name = "TOP10"; command = "chanserv/top10"; }
fantasy { name = "GTOP"; command = "chanserv/gtop"; }
fantasy { name = "GTOP10"; command = "chanserv/gtop10"; }
</syntaxhighlight></div>
06f7a030d5c0b021c59b69914abec0a5e9b1454e
2.0/Modules/m dns
0
197
875
873
2014-05-12T20:58:07Z
Azander
9
Azander moved page [[2.0/Moduules/m dns]] to [[2.0/Modules/m dns]] without leaving a redirect: typo in url
wikitext
text/x-wiki
{{Language|2.0/Modules/m_dns}}
{{Header|m_dns|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
;'''name=''' :The name of this module, referenced by other modules. ''Do not change''.
;'''nameserver=''' :The nameserver to query. Use either the IP address of the name server or use the local machine's /etc/resolv.conf configuration file (on linux/unix) to use the system's default name server(s).
;'''timeout=''' :Timeout before the name server request fails. Do not set this too high or you will lag out services if you get a lot of DNS lookup queries.
;'''ip=''' :The IP address to listen on for queries. Leave it 0.0.0.0 unless you know what you are doing, or are using the os_DNS module.
;'''port=''' :The port to listen on. The default (aka standard) DNS port is 53. Do not change this unless you really know what you are doing.
;'''admin='' :This should be your DNS contact person.
;'''nameservers=''' :This is where your zone files reside and are served out to others.
;'''refresh=''' :Time, in seconds, that a server beyond your direct control can keep a local copy of your DNS looked up reconrd before having to re-request them from your name servers. Set this too low, your name servers will see a large increase in traffic, set it too high and changes can take a long time to be seen.
;'''notify {...}''' :What other name servers should be told, directly, or changes you have made.
:;'''ip=''' :What IP address of the name server to notify.
:;'''port=''' :What port should you do this notification on.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
</syntaxhighlight></div>
0e41cf0ec82f51be1b13aed9e25cc5fc0f7b80aa
873
872
2014-05-12T20:51:40Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_dns}}
{{Header|m_dns|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
;'''name=''' :The name of this module, referenced by other modules. ''Do not change''.
;'''nameserver=''' :The nameserver to query. Use either the IP address of the name server or use the local machine's /etc/resolv.conf configuration file (on linux/unix) to use the system's default name server(s).
;'''timeout=''' :Timeout before the name server request fails. Do not set this too high or you will lag out services if you get a lot of DNS lookup queries.
;'''ip=''' :The IP address to listen on for queries. Leave it 0.0.0.0 unless you know what you are doing, or are using the os_DNS module.
;'''port=''' :The port to listen on. The default (aka standard) DNS port is 53. Do not change this unless you really know what you are doing.
;'''admin='' :This should be your DNS contact person.
;'''nameservers=''' :This is where your zone files reside and are served out to others.
;'''refresh=''' :Time, in seconds, that a server beyond your direct control can keep a local copy of your DNS looked up reconrd before having to re-request them from your name servers. Set this too low, your name servers will see a large increase in traffic, set it too high and changes can take a long time to be seen.
;'''notify {...}''' :What other name servers should be told, directly, or changes you have made.
:;'''ip=''' :What IP address of the name server to notify.
:;'''port=''' :What port should you do this notification on.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
</syntaxhighlight></div>
0e41cf0ec82f51be1b13aed9e25cc5fc0f7b80aa
872
871
2014-05-12T20:50:55Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_dns}}
{{Header|m_dns|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
;'''name=''' :The name of this module, referenced by other modules. Do not change.
;'''nameserver=''' :The nameserver to query. Use either the IP address of the name server or use the local machine's /etc/resolv.conf configuration file (on linux/unix) to use the system's default name server(s).
;'''timeout=''' :Timeout before the name server request fails. Do not set this too high or you will lag out services if you get a lot of DNS lookup queries.
;'''ip=''' :The IP address to listen on for queries. Leave it 0.0.0.0 unless you know what you are doing, or are using the os_DNS module.
;'''port=''' :The port to listen on. The default (aka standard) DNS port is 53. Do not change this unless you really know what you are doing.
;'''admin='' :This should be your DNS contact person.
;'''nameservers=''' :This is where your zone files reside and are served out to others.
;'''refresh=''' :Time, in seconds, that a server beyond your direct control can keep a local copy of your DNS looked up reconrd before having to re-request them from your name servers. Set this too low, your name servers will see a large increase in traffic, set it too high and changes can take a long time to be seen.
;'''notify {...}''' :What other name servers should be told, directly, or changes you have made.
:;'''ip=''' :What IP address of the name server to notify.
:;'''port=''' :What port should you do this notification on.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
</syntaxhighlight></div>
c329cc88775a610f4c9fe2019025cd969894d60b
871
2014-05-12T20:50:24Z
Azander
9
Created page with "{{Language|2.0/Modules/m_dns}} {{Header|m_dns|Extras|Anope}} == <div class="moduleheader">Description</div> == Adds support for the DNS protocol. By itself this module does ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_dns}}
{{Header|m_dns|Extras|Anope}}
== <div class="moduleheader">Description</div> ==
Adds support for the DNS protocol. By itself this module does nothing useful, but other modules such as m_dnsbl and os_dns require this.
;'''name=''' :The name of this module, referenced by other modules. Do not change.
;'''nameserver=''' :The nameserver to query. Use either the IP address of the name server or use the local machine's /etc/resolv.conf configuration file (on linux/unix) to use the system's default name server(s).
;'''timeout=''' :Timeout before the name server request fails. Do not set this too high or you will lag out services if you get a lot of DNS lookup queries.
;'''ip=''' :The IP address to listen on for queries. Leave it 0.0.0.0 unless you know what you are doing, or are using the os_DNS module.
;'''port=''' :The port to listen on. The default (aka standard) DNS port is 53. Do not change this unless you really know what you are doing.
;'''admin='' :This should be your DNS contact person.
;'''nameservers=''' :This is where your zone files reside and are served out to others.
;'''refresh=''' :Time, in seconds, that a server beyond your direct control can keep a local copy of your DNS looked up reconrd before having to re-request them from your name servers. Set this too low, your name servers will see a large increase in traffic, set it too high and changes can take a long time to be seen.
;'''notify {...}''' :What other name servers should be told, directly, or changes you have made.
:;'''ip=''' :What IP address of the name server to notify.
:;'''port=''' :What port should you do this notification on.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_dns
*
* Adds support for the DNS protocol. By itself this module does nothing useful,
* but other modules such as m_dnsbl and os_dns require this.
*/
#module
{
name = "m_dns"
/*
* The nameserver to use for resolving hostnames, must be an IP or a resolver configuration file.
* The below should work fine on all unix like systems. Windows users will have to find their nameservers
* from ipconfig /all and put the IP here.
*/
nameserver = "/etc/resolv.conf"
#nameserver = "127.0.0.1"
/*
* How long to wait in seconds before a DNS query has timed out.
*/
timeout = 5
/* Only edit below if you are expecting to use os_dns or otherwise answer DNS queries. */
/*
* The IP and port services use to listen for DNS queries.
* Note that ports less than 1024 are privileged on UNIX/Linux systems, and
* require Anope to be started as root. If you do this, it is recommended you
* set options:user and options:group so Anope can change users after binding
* to this port.
*/
ip = "0.0.0.0"
port = 53
/*
* SOA record information.
*/
/* E-mail address of the DNS administrator. */
admin = "admin@example.com"
/* This should be the names of the public facing nameservers serving the records. */
nameservers = "ns1.example.com ns2.example.com"
/* The time slave servers are allowed to cache. This should be reasonably low
* if you want your records to be updated without much delay.
*/
refresh = 3600
/* A notify block. There should probably be one per nameserver listed in 'nameservers'.
*/
notify
{
ip = "192.0.2.0"
port = 53
}
}
</syntaxhighlight></div>
53fde7ac92352918b303557578b88b94ce46c848
2.0/Modules/m dnsbl
0
202
897
2014-05-13T14:01:01Z
Azander
9
Created page with "{{Language|2.0/Modules/m_dnsbl}} {{Header|m_dnsbl|Extra_Modules|Anope}} == <div class="moduleheader">Description</div> == Allows configurable DNS blacklists to check connect..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_dnsbl}}
{{Header|m_dnsbl|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Allows configurable DNS blacklists to check connecting users against. If a user is found on the blacklist they will be immediately banned.
;name= :Name of module.
;check_on_connect= :If set, Services will check clients against the DNSBLs when services connect to its uplink. '''NOT recommended'''
;check_on_netburst= :If set, Services will check clients when coming back from a netsplit. '''NOT recommended'''
;add_to_akill= : If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends a timed G/K-line to the IRCd and forgets about it.
;blacklist {...} :
:;name= :Blacklist address to check against
:;time= :How long to set the ban
:;reason= :Reason for kill
:;1-5= :Replies to ban, and Ban reason, see default configuration below for details. (optional)
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_dnsbl
*
* Allows configurable DNS blacklists to check connecting users against. If a user
* is found on the blacklist they will be immediately banned. This is a crucial module
* to prevent bot attacks.
*/
#module
{
name = "m_dnsbl"
/*
* If set, Services will check clients against the DNSBLs when services connect to its uplink.
* This is not recommended, and on large networks will open a very large amount of DNS queries.
* Whilst services are not drastically affected by this, your nameserver/DNSBL might care.
*/
check_on_connect = no
/*
* If set, Services will check clients when coming back from a netsplit. This can cause a large number
* of DNS queries open at once. Whilst services are not drastically affected by this, your nameserver/DNSBL
* might care.
*/
check_on_netburst = no
/*
* If set, OperServ will add clients found in the DNSBL to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being fill up by bots.
*/
add_to_akill = yes
blacklist
{
/* Name of the blacklist. */
name = "rbl.efnetrbl.org"
/* How long to set the ban for. */
time = 4h
/* Reason for akill.
* %n is the nick of the user
* %u is the ident/username of the user
* %g is the realname of the user
* %h is the hostname of the user
* %i is the IP of the user
* %r is the reason (configured below). Will be nothing if not configured.
* %N is the network name set in networkinfo:networkname
*/
reason = "You are listed in the efnet RBL, visit http://rbl.efnetrbl.org/?i=%i for info"
/* Replies to ban and their reason. If this is totally omitted all replies get banned. */
1 = "Open Proxy"
/* Don't ban for result 2 or 3 */
#2 = "spamtrap666"
#3 = "spamtrap50"
4 = "TOR"
5 = "Drones / Flooding"
}
blacklist
{
name = "dnsbl.dronebl.org"
time = 4h
reason = "You have a host listed in the DroneBL. For more information, visit http://dronebl.org/lookup_branded?ip=%i&network=%N"
}
}
</syntaxhighlight></div>
94cf47aff44e98c2eed3c9f981aada1f4c2472b7
2.0/Modules/m httpd
0
203
902
2014-05-13T14:11:24Z
Azander
9
Created page with "{{Language|2.0/Modules/m_httpd}} {{Header|m_httpd|Extra_Modules|Anope}} == <div class="moduleheader">Description</div> == Allows services to serve web pages. By itself, this ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_httpd}}
{{Header|m_httpd|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Allows services to serve web pages. By itself, this module does nothing useful.
;name= :Name of module. Do not change, other modules look for this name.
;httpd {...} :
:;name= :Name of this service '''Do not alter this name'''
:;ip= :IP address of your server to listen for requests on.
:;port= :Port to listen on.
:;timeout= :time to wait before assuming the connection failed, or is done.
:;ssl= :Use secure socket layer '''Disabled by default'''
:;extforward_ip= :Used for reverse proxy. Leave disabled unless you have a specific need for this.
:;extforward_header= :The revere proxy header to look for.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_httpd
*
* Allows services to serve web pages. By itself, this module does nothing useful.
*
* Note that using this will allow users to get the IP of your services.
* To prevent this we recommend using a reverse proxy or a tunnel.
*/
#module
{
name = "m_httpd"
httpd
{
/* Name of this service. */
name = "httpd/main"
/* IP to listen on. */
ip = "0.0.0.0"
/* Port to listen on. */
port = 8080
/* Time before connections to this server are timed out. */
timeout = 30
/* Listen using SSL. Requires an SSL module. */
#ssl = yes
/* If you are using a reverse proxy that sends one of the
* extforward_headers set below, set this to its IP.
* This allows services to obtain the real IP of users by
* reading the forwarded-for HTTP header.
*/
#extforward_ip = "192.168.0.255"
/* The header to look for. These probably work as is. */
extforward_header = "X-Forwarded-For Forwarded-For"
}
}
</syntaxhighlight></div>
f2d6953e5a61567531afdb633753778b20f8d4d9
2.0/Modules/m ldap
0
204
942
904
2014-05-13T19:46:22Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_ldap}}
{{Header|m_ldap|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows other modules to use LDAP. By itself, this module does nothing useful.
*<span style="color: red;">Enabeled/Disabeled using the '''./extra''' command line configuration tool.</span>
;name= :Module name
;ldap {...} :
:;server= :Server to connect to
:;port= :Server port to connect to
:;admin_bindn= :ldap username/credentials
:;admin_password= :Password to access ldap server
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
</syntaxhighlight></div>
11e1833ec53c1adc7258e1779546ae53f12451a8
904
2014-05-13T14:19:59Z
Azander
9
Created page with "{{Language|2.0/Modules/m_ldap}} {{Header|m_ldap|Database|Anope}} == <div class="moduleheader">Description</div> == This module allows other modules to use LDAP. By itself, th..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_ldap}}
{{Header|m_ldap|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows other modules to use LDAP. By itself, this module does nothing useful.
;name= :Module name
;ldap {...} :
:;server= :Server to connect to
:;port= :Server port to connect to
:;admin_bindn= :ldap username/credentials
:;admin_password= :Password to access ldap server
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_ldap [EXTRA]
*
* This module allows other modules to use LDAP. By itself, this module does nothing useful.
*/
#module
{
name = "m_ldap"
ldap
{
server = "ldap://127.0.0.1"
port = 389
/*
* Admin credentials used for performing searches and adding users.
*/
admin_binddn = "cn=Manager,dc=anope,dc=org"
admin_password = "secret"
}
}
</syntaxhighlight></div>
4ab27f9612de37770101dfa36bb2b8becb44b220
2.0/Modules/m ldap authentication
0
205
941
907
2014-05-13T19:46:05Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_ldap_authentication}}
{{Header|m_ldap_authentication|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users.
*<span style="color: red;">Enabeled/Disabeled using the '''./extra''' command line configuration tool.</span>
*'''Requires module m_ldap'''.
;name= :Name of module
;basedn= :The distinguished name used for searching for users's accounts.
;search_filter= :The search filter used to look up users's accounts.
;object_class= :The object class used by LDAP to store user account information.
;username_attribute= :The attribute value used for account names.
;email_attribute= :The attribute value used for passwords.
;password_attribute= :The attribute value used for passwords.
;disable_register= :If set, the reason to give the users who try to "/msg NickServ REGISTER". ''Disabled by default''
;disable_email= :If set, the reason to give the users who try to "/msg NickServ SET EMAIL". ''Disabled by default''
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
</syntaxhighlight></div>
f5f7a8fbc2981c6798ff889dfcb9ca090f760fac
907
906
2014-05-13T14:27:14Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_ldap_authentication}}
{{Header|m_ldap_authentication|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users.
*'''Requires module m_ldap'''.
;name= :Name of module
;basedn= :The distinguished name used for searching for users's accounts.
;search_filter= :The search filter used to look up users's accounts.
;object_class= :The object class used by LDAP to store user account information.
;username_attribute= :The attribute value used for account names.
;email_attribute= :The attribute value used for passwords.
;password_attribute= :The attribute value used for passwords.
;disable_register= :If set, the reason to give the users who try to "/msg NickServ REGISTER". ''Disabled by default''
;disable_email= :If set, the reason to give the users who try to "/msg NickServ SET EMAIL". ''Disabled by default''
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
</syntaxhighlight></div>
70e2905544498a6910165b03605b43ee837f3b8c
906
2014-05-13T14:26:38Z
Azander
9
Created page with "{{Language|2.0/Modules/m_ldap_authentication}} {{Header|m_ldap_authentication|Databases|Anope}} == <div class="moduleheader">Description</div> == This module allows many comm..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_ldap_authentication}}
{{Header|m_ldap_authentication|Databases|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use LDAP to authenticate users.
*'''Requires module m_ldap'''.
;name= :Name of module
;basedn= :The distinguished name used for searching for users's accounts.
;search_filter= :The search filter used to look up users's accounts.
;object_class= :The object class used by LDAP to store user account information.
;username_attribute= :The attribute value used for account names.
;email_attribute= :The attribute value used for passwords.
;password_attribute= :The attribute value used for passwords.
;disable_register= :If set, the reason to give the users who try to "/msg NickServ REGISTER". ''Disabled by default''
;disable_email= :If set, the reason to give the users who try to "/msg NickServ SET EMAIL". ''Disabled by default''
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_ldap_authentication [EXTRA]
*
* This module allows many commands such as IDENTIFY, RELEASE, RECOVER, GHOST, etc. use
* LDAP to authenticate users. Requires m_ldap.
*/
#module
{
name = "m_ldap_authentication"
/*
* The distinguished name used for searching for users's accounts.
*/
basedn = "ou=users,dc=anope,dc=org"
/*
* The search filter used to look up users's accounts.
* %account is replaced with the user's account.
* %object_class is replaced with the object_class configured below.
*/
search_filter = "(&(uid=%account)(objectClass=%object_class))"
/*
* The object class used by LDAP to store user account information.
* This is used for adding new users to LDAP if registration is allowed.
*/
object_class = "anopeUser"
/*
* The attribute value used for account names.
*/
username_attribute = "uid"
/*
* The attribute value used for email addresses.
* This directive is optional.
*/
email_attribute = "email"
/*
* The attribute value used for passwords.
* Used when registering new accounts in LDAP.
*/
password_attribute = "userPassword"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_register_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
</syntaxhighlight></div>
b9db109b90f2abd0238b062e867ea6aa3af6e9ad
2.0/Modules/m ldap oper
0
206
943
910
2014-05-13T19:46:47Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_ldap_authentication}}
{{Header|m_ldap_authentication|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module dynamically ties users to Anope opertypes when they identify via LDAP group membership.
*<span style="color: red;">Enabeled/Disabeled using the '''./extra''' command line configuration tool.</span>
*'''Requires module m_ldap'''.
;name= :Name of module
;binddn= :An optional binddn to use when searching for groups.
;password= :An optional binddn to use when searching for groups.
;basedb= :The base DN where the groups are.
;filter= :The filter/query to use when searching for users.
;opertype_attribute= :The attribute of the group that is the name of the opertype.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
</syntaxhighlight></div>
e9bb46de00ddeb647884e8b8525cbed89d524ce0
910
2014-05-13T14:31:54Z
Azander
9
Created page with "{{Language|2.0/Modules/m_ldap_authentication}} {{Header|m_ldap_authentication|Database|Anope}} == <div class="moduleheader">Description</div> == This module dynamically ties ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_ldap_authentication}}
{{Header|m_ldap_authentication|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module dynamically ties users to Anope opertypes when they identify via LDAP group membership.
*'''Requires module m_ldap'''.
;name= :Name of module
;binddn= :An optional binddn to use when searching for groups.
;password= :An optional binddn to use when searching for groups.
;basedb= :The base DN where the groups are.
;filter= :The filter/query to use when searching for users.
;opertype_attribute= :The attribute of the group that is the name of the opertype.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_ldap_oper [EXTRA]
*
* This module dynamically ties users to Anope opertypes when they identify
* via LDAP group membership. Requires m_ldap.
*
* Note that this doesn't give the user privileges on the IRCd, only in Services.
*/
#module
{
name = "m_ldap_oper"
/*
* An optional binddn to use when searching for groups.
* %a is replaced with the account name of the user.
*/
#binddn = "cn=Manager,dc=anope,dc=org"
/*
* An optional password to bind with.
*/
#password = "secret"
/*
* The base DN where the groups are.
*/
basedn = "ou=groups,dc=anope,dc=org"
/*
* The filter to use when searching for users.
* %a is replaced with the account name of the user.
*/
filter = "(member=uid=%a,ou=users,dc=anope,dc=org)"
/*
* The attribute of the group that is the name of the opertype.
* The cn attribute should match a known opertype in the config.
*/
opertype_attribute = "cn"
}
</syntaxhighlight></div>
497065e72864fa90af81447c42f445568b1178ab
2.0/Modules/m mysql
0
207
1140
944
2016-12-16T16:15:27Z
Iotaspencer
23
/* Description */ (Enable/Disable)d spelling correction
wikitext
text/x-wiki
{{Language|2.0/Modules/m_mysql}}
{{Header|m_mysql|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows other modules to use MySQL.
*<span style="color: red;">Enabled/Disabled using the '''./extra''' command line configuration tool.</span>
;name= :Module name, no not change.
;mysql {...} :
:;name= :name of MySQL connection.
:;database= :MySQL database to use
:;server= :MySQL Server to conenct to
:;username= :Username to connect with
:;password= :Password to connect with
:;port= :MySQL Server port to connect with
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
</syntaxhighlight></div>
acb7e715830c86c8e647015ca6b300a332448eaa
944
925
2014-05-13T19:47:06Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_mysql}}
{{Header|m_mysql|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows other modules to use MySQL.
*<span style="color: red;">Enabeled/Disabeled using the '''./extra''' command line configuration tool.</span>
;name= :Module name, no not change.
;mysql {...} :
:;name= :name of MySQL connection.
:;database= :MySQL database to use
:;server= :MySQL Server to conenct to
:;username= :Username to connect with
:;password= :Password to connect with
:;port= :MySQL Server port to connect with
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
</syntaxhighlight></div>
28bb0f310e0ae455e9408cf11d467b803dca7437
925
912
2014-05-13T15:41:22Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_mysql}}
{{Header|m_mysql|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows other modules to use MySQL.
;name= :Module name, no not change.
;mysql {...} :
:;name= :name of MySQL connection.
:;database= :MySQL database to use
:;server= :MySQL Server to conenct to
:;username= :Username to connect with
:;password= :Password to connect with
:;port= :MySQL Server port to connect with
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
</syntaxhighlight></div>
a9275c918b4852c25219fe753d2b2a01067faf3a
912
2014-05-13T14:49:16Z
Azander
9
Created page with "{{Language|2.0/Modules/m_mysql}} {{Header|m_mysql|Database|Anope}} == <div class="moduleheader">Description</div> == This module allows other modules to use MySQL. ;name= :M..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_mysql}}
{{Header|m_mysql|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows other modules to use MySQL.
;name= :Module name, no not change.
;mysql {...} :
:;name= :name of MySQL connection. '''DO NOT ALTER THIS'''
:;database= :MySQL database to use
:;server= :MySQL Server to conenct to
:;username= :Username to connect with
:;password= :Password to connect with
:;port= :MySQL Server port to connect with
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_mysql [EXTRA]
*
* This module allows other modules to use MySQL.
*/
#module
{
name = "m_mysql"
mysql
{
/* The name of this service. */
name = "mysql/main"
database = "anope"
server = "127.0.0.1"
username = "anope"
password = "mypassword"
port = 3306
}
}
</syntaxhighlight></div>
bcbb290f82c29cd41ff7fa8a01eead7e151d6d68
2.0/Modules/m proxyscan
0
199
879
2014-05-12T21:39:46Z
Azander
9
Created page with "{{Language|2.0/Modules/m_proxyscan}} {{Header|m_proxyscan|Extra_Modules|Anope}} == <div class="moduleheader">Description</div> == This module allows you to scan connecting c..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_proxyscan}}
{{Header|m_proxyscan|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows you to scan connecting clients for open proxies.
:Currently the two supported proxy types are '''HTTP''' and '''SOCKS5'''.
:;name= :Module name.
:;target_ip= :The target IP services tells the proxy to connect back to.
:;target_port= :The port services tells the proxy to connect to.
:;listen_ip= :The listen IP services listen on for incoming connections from suspected proxies.
:;listen_port= :The port services should listen on for incoming connections from suspected proxies.
:;connect_notice= :An optional notice sent to clients upon connect.
:;connect_source= :Who the notice should be sent from.
:;add_to_akill= :If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends a timed G/K-line to the IRCd and forgets about it.
:;timeout= :How long before connections should be timed out.
:;proxyscan {...} :
::;type= :The type of proxy to check for. A comma separated list is allowed.
::;port= :The ports to check.
::;reason= :The reason to ban the user for.
*'''NOTE''': Using this will allow users to get the IP of your services machine.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_proxyscan
*
* This module allows you to scan connecting clients for open proxies.
* Note that using this will allow users to get the IP of your services.
*
* Currently the two supported proxy types are HTTP and SOCKS5.
*
* The proxy scanner works by attempting to connect to clients when they
* connect to the network, and if they have a proxy running instruct it to connect
* back to services. If services are able to connect through the proxy to itself
* then it knows it is an insecure proxy, and will ban it.
*/
#module
{
name = "m_proxyscan"
/*
* The target IP services tells the proxy to connect back to. This must be a publicly
* available IP that remote proxies can connect to.
*/
#target_ip = "127.0.0.1"
/*
* The port services tells the proxy to connect to.
*/
target_port = 7226
/*
* The listen IP services listen on for incoming connections from suspected proxies.
* This probably will be the same as target_ip, but may not be if you are behind a firewall (NAT).
*/
#listen_ip = "127.0.0.1"
/*
* The port services should listen on for incoming connections from suspected proxies.
* This most likely will be the same as target_port.
*/
listen_port = 7226
/*
* An optional notice sent to clients upon connect.
*/
#connect_notice = "We will now scan your host for insecure proxies. If you do not consent to this scan please disconnect immediately."
/*
* Who the notice should be sent from.
*/
#connect_source = "OperServ"
/*
* If set, OperServ will add infected clients to the akill list. Without it, OperServ simply sends
* a timed G/K-line to the IRCd and forgets about it. Can be useful if your akill list is being filled up by bots.
*/
add_to_akill = yes
/*
* How long before connections should be timed out.
*/
timeout = 5
proxyscan
{
/* The type of proxy to check for. A comma separated list is allowed. */
type = "HTTP"
/* The ports to check. */
port = "80,8080"
/* How long to set the ban for. */
time = 4h
/*
* The reason to ban the user for.
* %h is replaced with the type of proxy found.
* %i is replaced with the IP of proxy found.
* %p is replaced with the port.
*/
reason = "You have an open proxy running on your host (%t:%i:%p)"
}
}
</syntaxhighlight></div>
6b996dd598eaaa48afc0a1ef2a096fa9de60773b
2.0/Modules/m redis
0
208
916
915
2014-05-13T14:54:12Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_redis}}
{{Header|m_redis|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows other modules to use Redis databases.
;name= :Name of module
;rdis {...} :
:;name= :Name of the service '''DO NOT ALTER THIS'''
:;db= :The database to use.
:;ip= :IP Address of the server to connect to.
:;port :Port to connect to the server with.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
</syntaxhighlight></div>
7689c354269ad13b411f1ac1b2929ca45fc19d2f
915
2014-05-13T14:53:55Z
Azander
9
Created page with "{{Language|2.0/Modules/m_redis}} {{Header|m_redis|Database|Anope}} == <div class="moduleheader">Description</div> == This module allows other modules to use Redis databases. ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_redis}}
{{Header|m_redis|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows other modules to use Redis databases.
;name= :Name of module
;rdis {...} |
:;name= :Name of the service '''DO NOT ALTER THIS'''
:;db= :The database to use.
:;ip= :IP Address of the server to connect to.
:;port :Port to connect to the server with.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_redis
*
* This module allows other modules to use Redis.
*/
#module
{
name = "m_redis"
/* A redis database */
redis
{
/* The name of this service */
name = "redis/main"
/*
* The redis database to use. New connections default to 0.
*/
db = 0
ip = "127.0.0.1"
port = 6379
}
}
</syntaxhighlight></div>
06d25e697d3fa411aa4e7d2f9f215ee6d9d1b38c
2.0/Modules/m rewrite
0
198
877
876
2014-05-12T21:08:32Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_rewrite}}
{{Header|m_rewrite|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Allows you to re-write any command that it sent to/from clients.
;'''command {...}''' :The rewritten command
:;'''service=''' :The service having it's command re-written.
:;'''rewrite=''' :Enable or disable the individual re-write of the command.
:;'''rewrite_source=''' :What to watch for to rewrite.
:;'''rewrite_target=''' :What to change the command to.
:;'''rewrite_description=''' :Description of the re-write.
== <div class="moduleheader">Examples</div> ==
Original command typed by user: '''/msg ChanServ CLEAR #myChannel USERS'''
What would be seen by Chanserv: '''/msg ChanServ KICK #myChannel *'''
Command configuration:
<div class="code">
<syntaxhighlight lang="cpp">
command {
service= "ChanServ";
rewrite = true;
rewrite_source = "CLEAR $ USERS";
rewrite_target = "KICK $1 *";
rewrite_description = "Clears all users from a channel";
}
</syntaxhighlight></div>
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
</syntaxhighlight></div>
7c5d76c6d119e572407e087cf65c92c34d2a1c00
876
2014-05-12T21:08:07Z
Azander
9
Created page with "{{Language|2.0/Modules/m_dns}} {{Header|m_dns|Extra_Modules|Anope}} == <div class="moduleheader">Description</div> == Allows you to re-write any command that it sent to/from..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_dns}}
{{Header|m_dns|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Allows you to re-write any command that it sent to/from clients.
;'''command {...}''' :The rewritten command
:;'''service=''' :The service having it's command re-written.
:;'''rewrite=''' :Enable or disable the individual re-write of the command.
:;'''rewrite_source=''' :What to watch for to rewrite.
:;'''rewrite_target=''' :What to change the command to.
:;'''rewrite_description=''' :Description of the re-write.
== <div class="moduleheader">Examples</div> ==
Original command typed by user: '''/msg ChanServ CLEAR #myChannel USERS'''
What would be seen by Chanserv: '''/msg ChanServ KICK #myChannel *'''
Command configuration:
<div class="code">
<syntaxhighlight lang="cpp">
command {
service= "ChanServ";
rewrite = true;
rewrite_source = "CLEAR $ USERS";
rewrite_target = "KICK $1 *";
rewrite_description = "Clears all users from a channel";
}
</syntaxhighlight></div>
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_rewrite
*
* Allows rewriting commands sent to/from clients.
*/
#module { name = "m_rewrite" }
#command
{
service = "ChanServ"; name = "CLEAR"; command = "rewrite"
/* Enable m_rewrite. */
rewrite = true
/* Source message to match. A $ can be used to match anything. */
rewrite_source = "CLEAR $ USERS"
/*
* Message to rewrite the source message to. A $ followed by a number, eg $0, gets
* replaced by the number-th word from the source_message, starting from 0.
*/
rewrite_target = "KICK $1 *"
/*
* The command description. This only shows up in HELP's output.
* Comment this option to prevent the command from showing in the
* HELP command.
*/
rewrite_description = "Clears all users from a channel"
}
</syntaxhighlight></div>
6727088953b8ef89912f8b80824334d1b7380d5e
2.0/Modules/m sql
0
220
1012
2014-05-30T19:36:14Z
Azander
9
Created page with "{{Language|2.0/Modules/m_sql}} {{Header|m_sql & m_sql_live|Database|Anope}} == <div class="moduleheader">Description</div> == This modules allows you to store all of nick..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_sql}}
{{Header|m_sql & m_sql_live|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This modules allows you to store all of nickserv, chanserv, memoserv, and operserv's data in a mysql database.
If you use '''m_sql_live''' it reads and writes the database in real time.
*'''NOTE''': Requres a SQL backend module to be present and properly configured.
;name= :Name of this module
;engine= :Database engine to use
;prefix= :table prefix to pre-append to table names
;import= :Flag to tell it to import data from other data sources, can only be used with m_sql and '''not''' with m_sql_live (see nots in configuration)
== <div class="moduleheader">Schema</div> ==
See [[2.0/Mysql:Scheme|Mysql:Scheme]] for details.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* db_sql and db_sql_live
*
* db_sql module allows saving and loading databases using one of the SQL engines.
* This module loads the databases once on startup, then incrementally updates
* objects in the database as they are changed within Anope in real time. Changes
* to the SQL tables not done by Anope will have no effect and will be overwritten.
*
* db_sql_live module allows saving and loading databases using one of the SQL engines.
* This module reads and writes to SQL in real time. Changes to the SQL tables
* will be immediately reflected into Anope. This module should not be loaded
* in conjunction with db_sql.
*
*/
#module
{
name = "db_sql"
#name = "db_sql_live"
/*
* The SQL service db_sql(_live) should use, these are configured in modules.conf.
* For MySQL, this should probably be mysql/main.
*/
engine = "sqlite/main"
/*
* An optional prefix to prepended to the name of each created table.
* Do not use the same prefix for other programs.
*/
#prefix = "anope_db_"
/* Whether or not to import data from another database module in to SQL on startup.
* If you enable this, be sure that the database services is configured to use is
* empty and that another database module to import from is loaded before db_sql.
* After you enable this and do a database import you should disable it for
* subsequent restarts.
*
* Note that you can not import databases using db_sql_live. If you want to import
* databases and use db_sql_live you should import them using db_sql, then shut down
* and start services with db_sql_live.
*/
import = false
}
</syntaxhighlight></div>
77a1239cd4f15732bd499cb0f29b450060457c3c
2.0/Modules/m sql authentication
0
209
945
920
2014-05-13T19:47:49Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_sql_authentication}}
{{Header|m_sql_authentication|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This modules interfaces services with a SQL backend, such as Mysql, Redis, or SQLite, to manage users.
*<span style="color: red;">Enabeled/Disabeled using the '''./extra''' command line configuration tool.</span>
*'''NOTE''': Requres a SQL backend module to be present and properly configured.
;name= :Name of module
;engine= :Name of backend method to use
;query= :The command used to get the data from the backend database.
;disable_reason= :Reason to display while preventing users from registering nicks via nickserv. They will need to be created in another method (such as forum registration, etc).
;disable_email_reason= :Reason to display when preventing users from changing their email address. They will need alternative methods to update email address, such as via forum profile changes.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@)
)"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@
)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
</syntaxhighlight></div>
62fef098744e97e9159aec5756f5c8e414204834
920
2014-05-13T15:05:14Z
Azander
9
Created page with "{{Language|2.0/Modules/m_sql_authentication}} {{Header|m_sql_authentication|Database|Anope}} == <div class="moduleheader">Description</div> == This modules interfaces service..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_sql_authentication}}
{{Header|m_sql_authentication|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This modules interfaces services with a SQL backend, such as Mysql, Redis, or SQLite, to manage users.
*'''NOTE''': Requres a SQL backend module to be present and properly configured.
;name= :Name of module
;engine= :Name of backend method to use
;query= :The command used to get the data from the backend database.
;disable_reason= :Reason to display while preventing users from registering nicks via nickserv. They will need to be created in another method (such as forum registration, etc).
;disable_email_reason= :Reason to display when preventing users from changing their email address. They will need alternative methods to update email address, such as via forum profile changes.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_sql_authentication [EXTRA]
*
* This module allows authenticating users against an external SQL database using a custom
* query.
*/
#module
{
name = "m_sql_authentication"
/* SQL engine to use. Should be configured elsewhere with m_mysql, m_sqlite, etc. */
engine = "mysql/main"
/* Query to execute to authenticate. A non empty result from this query is considered a success,
* and the user will be authenticated.
*
* @a@ is replaced with the user's account name
* @p@ is replaced with the user's password
* @n@ is replaced with the user's nickname
* @i@ is replaced with the user's IP
*
* Note that @n@ and @i@ may not always exist in the case of a user identifying outside of the normal
* nickserv/identify command, such as through the web panel.
*
* Furthermore, if a field named email is returned from this query the user's email is
* set to its value.
*
*
* We've included some example queries for some popular website/forum systems.
*
* Drupal 6: "SELECT `mail` AS `email` FROM `users` WHERE `name` = @a@ AND `pass` = MD5(@p@) AND `status` = 1"
* e107 cms: "SELECT `user_email` AS `email` FROM `e107_user` WHERE `user_loginname` = @a@ AND `user_password` = MD5(@p@)"
* SMF Forum: "SELECT `email_address` AS `email` FROM `smf_members` WHERE `member_name` = @a@ AND `passwd` = SHA1(CONCAT(LOWER(@a@), @p@)
)"
* vBulletin: "SELECT `email` FROM `user` WHERE `username` = @a@ AND `password` = MD5(CONCAT(MD5(@p@), `salt`))"
* IP.Board: "SELECT `email` FROM `ibf_members` WHERE `name` = @a@ AND `members_pass_hash` = MD5(CONCAT(MD5(`members_pass_salt`), MD5(@p@
)))"
*/
query = "SELECT `email_addr` AS `email` FROM `my_users` WHERE `username` = @a@ AND `password` = MD5(CONCAT('salt', @p@))"
/*
* If set, the reason to give the users who try to "/msg NickServ REGISTER".
* If not set, then registration is not blocked.
*/
#disable_reason = "To register on this network visit http://some.misconfigured.site/register"
/*
* If set, the reason to give the users who try to "/msg NickServ SET EMAIL".
* If not set, then email changing is not blocked.
*/
#disable_email_reason = "To change your email address visit http://some.misconfigured.site"
}
</syntaxhighlight></div>
c4aea7f43122b50a8116029cc2c93fc902136641
2.0/Modules/m sqlite
0
210
924
2014-05-13T15:40:37Z
Azander
9
Created page with "{{Language|2.0/Modules/m_sqlite}} {{Header|m_sqlite|Database|Anope}} == <div class="moduleheader">Description</div> == This module allows other modules to use SQLite. ;name ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_sqlite}}
{{Header|m_sqlite|Database|Anope}}
== <div class="moduleheader">Description</div> ==
This module allows other modules to use SQLite.
;name :Name of the module
;squlite {...} :
:;name= :Name of SQL connection
:;database= :Name of database file
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_sqlite [EXTRA]
*
* This module allows other modules to use SQLite.
*/
#module
{
name = "m_sqlite"
/* A SQLite database */
sqlite
{
/* The name of this service. */
name = "sqlite/main"
/* The database name, it will be created if it does not exist. */
database = "anope.db"
}
}
</syntaxhighlight></div>
1e57cbf7a9c7436faf9f57a3cbd4a17859c77c4d
2.0/Modules/m ssl gnutls
0
200
881
2014-05-12T21:49:10Z
Azander
9
Created page with "{{Language|2.0/Modules/m_ssl_gnutls}} {{Header|m_ssl_gnutls|Extra_Modules|Anope}} == <div class="moduleheader">Description</div> == Provides SSL services to Anope using GnuT..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_ssl_gnutls}}
{{Header|m_ssl_gnutls|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Provides SSL services to Anope using GnuTLS.
;name= :Module name
;cert= :Secure Certificate (public) file.
;key= :Secure Certificate (private) key file.
;ghparams= :Diffie-Hellman parameters to use when acting as a server. This is only required for TLS servers that want to use ephemeral DH cipher suites.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_ssl_gnutls [EXTRA]
*
* This module provides SSL services to Anope using GnuTLS, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_gnutls or m_ssl_openssl, bot not both.
*/
#module
{
name = "m_ssl_gnutls"
/*
* An optional certificate and key for m_gnutls to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* certtool --generate-privkey --bits 2048 --outfile anope.key
* certtool --generate-self-signed --load-privkey anope.key --outfile anope.crt
*
*/
cert = "data/anope.crt"
key = "data/anope.key"
/*
* Diffie-Hellman parameters to use when acting as a server. This is only
* required for TLS servers that want to use ephemeral DH cipher suites.
*
* This is NOT required for Anope to connect to the uplink server(s) via SSL.
*
* You can generate DH parameters by using:
*
* certtool --generate-dh-params --bits 2048 --outfile dhparams.pem
*
*/
# dhparams = "data/dhparams.pem"
}
</syntaxhighlight></div>
6983b2d08ee81f8652dea4d9247ab6a03f92ee79
2.0/Modules/m ssl openssl
0
201
883
2014-05-12T21:54:36Z
Azander
9
Created page with "{{Language|2.0/Modules/m_ssl_openssl}} {{Header|m_ssl_opemssl|Extra_Modules|Anope}} == <div class="moduleheader">Description</div> == This module provides SSL services to An..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_ssl_openssl}}
{{Header|m_ssl_opemssl|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
This module provides SSL services to Anope using OpenSSL, for example to connect to the uplink server(s) via SSL.
'''NOTE''': You may only load either m_ssl_openssl or m_ssl_gnutls, not both.
;name= :Module name
;cert= :Secure certificate file.
;key= :Secure certificate (private) key file.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_ssl_openssl [EXTRA]
*
* This module provides SSL services to Anope using OpenSSL, for example to
* connect to the uplink server(s) via SSL.
*
* You may only load either m_ssl_openssl or m_ssl_gnutls, bot not both.
*
*/
#module
{
name = "m_ssl_openssl"
/*
* An optional certificate and key for m_openssl to give to the uplink.
*
* You can generate your own certificate and key pair by using:
*
* openssl genrsa -out anope.key 2048
* openssl req -new -x509 -key anope.key -out anope.crt -days 1095
*/
cert = "data/anope.crt"
key = "data/anope.key"
}
</syntaxhighlight></div>
4889600753bb14560d67f7536c334b49f5abdd31
2.0/Modules/m xmlrpc
0
212
930
929
2014-05-13T15:54:18Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/m_xmlrpc}}
{{Header|m_xmlrpc|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Alows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself this module does nothing, but allows other modules such as m_xmlrpc_main, to receive and send XMLRPC queries.
*'''NOTE''': Requires module m_httpd.
;name= :Module name
;server= :Server engine to connect to
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
</syntaxhighlight></div>
1caa2b2a3028944f03637cb5ffe01ddb5308eb92
929
2014-05-13T15:53:42Z
Azander
9
Created page with "{{Language|2.0/Modules/m_xmlrpc}} {{Header|m_xmlrpc|Extra_Modules|Anope}} == <div class="moduleheader">Description</div> == Alows remote applications (websites) to execute qu..."
wikitext
text/x-wiki
{{Language|2.0/Modules/m_xmlrpc}}
{{Header|m_xmlrpc|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
Alows remote applications (websites) to execute queries in real time to retrieve data from Anope. By itself this module does nothing, but allows other modules such as m_xmlrpc_main, to receive and send XMLRPC queries.
;name= :Module name
;server= :Server engine to connect to
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* m_xmlrpc
*
* Allows remote applications (websites) to execute queries in real time to retrieve data from Anope.
* By itself this module does nothing, but allows other modules (m_xmlrpc_main) to receive and send XMLRPC queries.
*/
#module
{
name = "m_xmlrpc"
/* Web service to use. Requires m_httpd. */
server = "httpd/main"
}
</syntaxhighlight></div>
5f3a2e01f96b91ea5a1e5daad2dc408067ad3de0
2.0/Modules/ms cancel
0
139
719
2014-05-08T15:42:59Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_cancel}} {{Syntax|ms_cancel|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Cancels the last memo you sent to the given nick or c..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_cancel}}
{{Syntax|ms_cancel|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Cancels the last memo you sent to the given nick or channel, provided it has not been read at the time you use the command.
== <div class="moduleheader">Commands</div> ==
;cancel {nick | channel}
== <div class="moduleheader">Examples</div> ==
/msg MemoServ CANCEL Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_cancel
*
* Provides the command memoserv/cancel.
*
* Used to cancel memos already sent but not yet read.
*/
module { name = "ms_cancel" }
command { service = "MemoServ"; name = "CANCEL"; command = "memoserv/cancel"; }
</syntaxhighlight></div>
f40ab6cd79bd13c42a390826d4298037d34c662b
2.0/Modules/ms check
0
140
721
2014-05-08T15:46:27Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_check}} {{Syntax|ms_check|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Checks whether the <ins>last</ins> memo you sent to nic..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_check}}
{{Syntax|ms_check|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Checks whether the <ins>last</ins> memo you sent to nick has been read or not. Note that this does only work with nicks, not with channels.
== <div class="moduleheader">Commands</div> ==
;check nick
== <div class="moduleheader">Examples</div> ==
/msg MemoServ CHECK Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_check
*
* Provides the command memoserv/check.
*
* Used to check if a sent memo has been read.
*/
module { name = "ms_check" }
command { service = "MemoServ"; name = "CHECK"; command = "memoserv/check"; }
</syntaxhighlight></div>
f8c61c969bd8c9643aa3290eab7547c967a18a3f
2.0/Modules/ms del
0
141
724
2014-05-08T15:50:35Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_del}} {{Syntax|ms_del|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Deletes the specified memo or memos. You can supply multipl..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_del}}
{{Syntax|ms_del|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Deletes the specified memo or memos. You can supply multiple memo numbers or ranges of numbers instead of a single number.
If LAST is given, the last memo will be deleted.
If ALL is given, deletes all of your memos.
== <div class="moduleheader">Commands</div> ==
;del [channel] {num | list | LAST | ALL}
== <div class="moduleheader">Examples</div> ==
/msg MemoServ DEL 3
/msg MemoServ DEL #myChannel ALL
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_del
*
* Provides the command memoserv/del.
*
* Used to delete your memos.
*/
module { name = "ms_del" }
command { service = "MemoServ"; name = "DEL"; command = "memoserv/del"; }
</syntaxhighlight></div>
1cc50ebd0cafba5b9e5f5bc4df1fef15ff538942
2.0/Modules/ms ignore
0
142
725
2014-05-08T15:53:38Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_ignore}} {{Syntax|ms_ignore|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Allows you to ignore users by nick or host from memoi..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_ignore}}
{{Syntax|ms_ignore|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows you to ignore users by nick or host from memoing you or a channel. If someone on the memo ignore list tries to memo you or a channel, they will not be told that you have them ignored.
== <div class="moduleheader">Commands</div> ==
;ignore [channel] ADD entry
;ignore [channel] DEL entry
;ignore [channel] LIST
== <div class="moduleheader">Examples</div> ==
/msg MemoServ ADD Fred
/msg MemoServ DEL #myChannel Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_ignore
*
* Provides the command memoserv/ignore.
*
* Used to ignore memos from specific users.
*/
module { name = "ms_ignore" }
command { service = "MemoServ"; name = "IGNORE"; command = "memoserv/ignore"; }
</syntaxhighlight></div>
c1b3a8b24ba18eb361ba6c366cff0831bb7c2ec3
2.0/Modules/ms info
0
143
728
2014-05-08T15:58:52Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_info}} {{Syntax|ms_info|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Without a parameter, displays information on the number o..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_info}}
{{Syntax|ms_info|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Without a parameter, displays information on the number of memos you have, how many of them are unread, and how many total memos you can receive.
With a channel parameter, displays the same information for the given channel.
With a nickname parameter, displays the same information for the given nickname. '''This is limited to Services Operators.'''
== <div class="moduleheader">Commands</div> ==
;info [nick | channel]
== <div class="moduleheader">Examples</div> ==
/msg MemoServ INFO
/msg MemoServ INFO #myChannel
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_info
*
* Provides the command memoserv/info.
*
* Used to show memo related information about an account or a channel.
*/
module { name = "ms_info" }
command { service = "MemoServ"; name = "INFO"; command = "memoserv/info"; }
</syntaxhighlight></div>
e89dff085cff67bc62861a080f3a075cbc54b746
2.0/Modules/ms list
0
144
730
2014-05-08T16:02:10Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_list}} {{Syntax|ms_list|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Lists any memos you currently have. With NEW, lists only..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_list}}
{{Syntax|ms_list|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Lists any memos you currently have. With NEW, lists only new (unread) memos. Unread memos are marked with a "*" to the left of the memo number. You can also specify a list of numbers.
== <div class="moduleheader">Commands</div> ==
; list [channel] [list | NEW]
== <div class="moduleheader">Examples</div> ==
/msg MemoServ LIST #myChannel NEW
/msg MemoServ LIST 1-3
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_list
*
* Provides the command memoserv/list.
*
* Used to list your current memos.
*/
module { name = "ms_list" }
command { service = "MemoServ"; name = "LIST"; command = "memoserv/list"; }
</syntaxhighlight></div>
5ba2fd03abbbc30e34abbba5a89f00aaa9e9f261
2.0/Modules/ms read
0
145
732
2014-05-08T16:05:38Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_read}} {{Syntax|ms_read|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Sends you the text of the memos specified. If LAST is giv..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_read}}
{{Syntax|ms_read|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sends you the text of the memos specified. If LAST is given, sends you the memo you most recently received. If NEW is given, sends you all of your new memos. Otherwise, sends you memo number num. You can also give a list of numbers.
== <div class="moduleheader">Commands</div> ==
;read [channel] {num | list | LAST | NEW}
== <div class="moduleheader">Examples</div> ==
/msg MemoServ READ #myChannel NEW
/msg MemoServ READ 4-7
/msg Memoserv READ LAST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_read
*
* Provides the command memoserv/read.
*
* Used to read your memos.
*/
module { name = "ms_read" }
command { service = "MemoServ"; name = "READ"; command = "memoserv/read"; }
</syntaxhighlight></div>
c1159bc8cebd507c2abd5e71139a9b07d72d3ddb
2.0/Modules/ms rsend
0
146
733
2014-05-08T16:17:32Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_rsend}} {{Syntax|ms_rsend|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Sends the named nick or channel a memo containing memo-..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_rsend}}
{{Syntax|ms_rsend|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sends the named nick or channel a memo containing memo-text. When sending to a nickname, the recipient will receive a notice that he/she has a new memo. The target nickname/channel must be registered. Once the memo is read by its recipient, an automatic notification memo will be sent to the sender informing him/her that the memo has been read.
'''NOTE''': This is disabled by default.
== <div class="moduleheader">Commands</div> ==
;rsend {nick | channel} memo-text
== <div class="moduleheader">Examples</div> ==
/msg MemoServ RSEND Fred Change your Ident before returning. We do not allow hate language here. Ident: Nazi
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_rsend
*
* Provides the command memoserv/rsend.
*
* Used to send a memo requiring a receipt be sent back once it is read.
*
* Requires configuring memoserv:memoreceipt.
*/
#module
{
name = "ms_rsend"
/*
* Only allow Services Operators to use ms_rsend.
*
* This directive is optional.
*/
operonly = false
}
#command { service = "MemoServ"; name = "RSEND"; command = "memoserv/rsend"; }
</syntaxhighlight></div>
aca0d897ae8a0df9b2e2b87fd21222757b410826
2.0/Modules/ms send
0
147
735
2014-05-08T16:20:41Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_send}} {{Syntax|ms_send|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Sends the named nick or channel a memo containing memo-te..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_send}}
{{Syntax|ms_send|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sends the named nick or channel a memo containing memo-text. When sending to a nickname, the recipient will receive a notice that he/she has a new memo. The target nickname/channel must be registered.
== <div class="moduleheader">Commands</div> ==
;send [nick / channel] memo-text
== <div class="moduleheader">Examples</div> ==
/msg MemoServ SEND #Barney Hi! I'm Fred. We should get togethre some time for a beer and catch up.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_send
*
* Provides the command memoserv/send.
*
* Used to send memos.
*/
module { name = "ms_send" }
command { service = "MemoServ"; name = "SEND"; command = "memoserv/send"; }
</syntaxhighlight></div>
f75eadfb6671a1071be9d2a471a78cce393667e1
2.0/Modules/ms sendall
0
148
737
2014-05-08T16:24:24Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_sendall}} {{Syntax|ms_sendall|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Sends all registered users a memo containing memo-t..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_sendall}}
{{Syntax|ms_sendall|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sends all registered users a memo containing memo-text.
'''NOTE''': Access to this command requires the permission memoserv/sendall to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;sendall memo-text
== <div class="moduleheader">Examples</div> ==
/msg MemoServ SENDALL We have upgraded services. Commands have changed. Please take a look at the help files or http://wiki2.anope.org/ for more details.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_sendall
*
* Provides the command memoserv/sendall.
*
* Used to send a mass memo to every registered user.
*/
module { name = "ms_sendall" }
command { service = "MemoServ"; name = "SENDALL"; command = "memoserv/sendall"; permission = "memoserv/sendall"; }
</syntaxhighlight></div>
3ad1dd037265c302f3734dbea89d50586704341c
2.0/Modules/ms set
0
149
740
739
2014-05-08T16:38:03Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_set}}
{{Syntax|ms_set|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sets various memo options.
:;NOTIFY :Changes when you will be notified about new memos (only for nicknames)
::;ON :You will be notified of memos when you log on, when you unset /AWAY, and when they are sent to you.
::;LOGON :You will only be notified of memos when you log on or when you unset /AWAY.
::;NEW :You will only be notified of memos when they are sent to you.
::;MAIL :You will be notified of memos by email aswell as any other settings you have.
::;NOMAIL :You will not be notified of memos by email.
::;OFF :You will not receive any notification of memos.::LIMIT Sets the maximum number of memos you can receive
:;LIMIT
:::Sets the maximum number of memos a user or channel is allowed to have. Setting the limit to 0 prevents the user from receiving any memos; setting it to NONE allows the user to receive and keep as many memos as they want. If you do not give a nickname or channel, your own limit is set.
:::Adding HARD prevents the user from changing the limit. Not adding HARD has the opposite effect, allowing the user to change the limit (even if a previous limit was set with HARD).
:::This use of the SET LIMIT command is limited to '''Services Operators'''. Other users may only enter a limit for themselves or a channel on which they have such privileges, may not remove their limit, may not set a limit above 20, and may not set a hard limit.
== <div class="moduleheader">Commands</div> ==
;set NOTIFY {ON | LOGON | NEW | MAIL | NOMAIL | OFF}
;set LIMIT [user | channel] {limit | NONE} [HARD]
== <div class="moduleheader">Examples</div> ==
/msg MemoServ SET NOTIFY NEW
/msg MemoServ SET LIMIT 20
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
</syntaxhighlight></div>
f5df3292325c3da40193fcdc0f994a45853948ad
739
2014-05-08T16:37:39Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_set}} {{Syntax|ms_set|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Sets various memo options. :*;NOTIFY :Changes when you wi..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_set}}
{{Syntax|ms_set|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sets various memo options.
:*;NOTIFY :Changes when you will be notified about new memos (only for nicknames)
::;ON :You will be notified of memos when you log on, when you unset /AWAY, and when they are sent to you.
::;LOGON :You will only be notified of memos when you log on or when you unset /AWAY.
::;NEW :You will only be notified of memos when they are sent to you.
::;MAIL :You will be notified of memos by email aswell as any other settings you have.
::;NOMAIL :You will not be notified of memos by email.
::;OFF :You will not receive any notification of memos.::LIMIT Sets the maximum number of memos you can receive
:*;LIMIT
:::Sets the maximum number of memos a user or channel is allowed to have. Setting the limit to 0 prevents the user from receiving any memos; setting it to NONE allows the user to receive and keep as many memos as they want. If you do not give a nickname or channel, your own limit is set.
:::Adding HARD prevents the user from changing the limit. Not adding HARD has the opposite effect, allowing the user to change the limit (even if a previous limit was set with HARD).
:::This use of the SET LIMIT command is limited to '''Services Operators'''. Other users may only enter a limit for themselves or a channel on which they have such privileges, may not remove their limit, may not set a limit above 20, and may not set a hard limit.
== <div class="moduleheader">Commands</div> ==
;set NOTIFY {ON | LOGON | NEW | MAIL | NOMAIL | OFF}
;set LIMIT [user | channel] {limit | NONE} [HARD]
== <div class="moduleheader">Examples</div> ==
/msg MemoServ SET NOTIFY NEW
/msg MemoServ SET LIMIT 20
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_set
*
* Provides the command memoserv/set.
*
* Used to set settings such as how you are notified of new memos, and your memo limit.
*/
module { name = "ms_set" }
command { service = "MemoServ"; name = "SET"; command = "memoserv/set"; }
</syntaxhighlight></div>
58d2375c8cb38f288cc76d5b47c64d928d468f07
2.0/Modules/ms staff
0
150
742
2014-05-08T16:40:55Z
Azander
9
Created page with "{{Language|2.0/Modules/ms_staff}} {{Syntax|ms_staff|MemoServ|Anope}} == <div class="moduleheader">Description</div> == Sends all services staff a memo containing memo-text. ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ms_staff}}
{{Syntax|ms_staff|MemoServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sends all services staff a memo containing memo-text.
'''NOTE''': Access to this command requires the permission memoserv/staff to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;staff memo-text
== <div class="moduleheader">Examples</div> ==
/msg MemoServ STAFF We are ahving problems with user Wilma. Kill on sight.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ms_staff
*
* Provides the command memoserv/staff.
*
* Used to send a memo to all registered staff members.
*/
module { name = "ms_staff" }
command { service = "MemoServ"; name = "STAFF"; command = "memoserv/staff"; permission = "memoserv/staff"; }
</syntaxhighlight></div>
3288570232ccc7bfdc6b3253d2e5a5b095285e06
2.0/Modules/ngircd
0
193
833
2014-05-09T15:27:52Z
Azander
9
Created page with "{{Language|2.0/Modules/ngiecd}} {{Header|ngircd|Protocol|Anope}} == <div class="moduleheader">Description</div> == *'''NOTE''': You must select the correct protocol for your..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ngiecd}}
{{Header|ngircd|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
f6dfff23c323a59f09c57c64f86e98b6b03b899b
2.0/Modules/ns access
0
70
862
570
2014-05-09T20:26:47Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{{Syntax|ns_access|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
== <div class="moduleheader">Examples</div> ==
/msg NickServ '''ACCESS ADD''' anyone@*.bepeg.com Allows access to user anyone from any machine in the bepeg.com domain.
/msg NickServ '''ACCESS DEL''' anyone@*.bepeg.com Reverses the previous command.
/msg NickServ '''ACCESS LIST''' Displays the current access list.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</syntaxhighlight></div>
5977a700d62093148555ad33c0ccb2c08faabeff
570
563
2014-05-04T21:55:50Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{{Syntax|ns_access|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
== <div class="moduleheader">Examples</div> ==
::/msg NickServ '''ACCESS ADD''' anyone@*.bepeg.com Allows access to user anyone from any machine in the bepeg.com domain.
::/msg NickServ '''ACCESS DEL''' anyone@*.bepeg.com Reverses the previous command.
::/msg NickServ '''ACCESS LIST''' Displays the current access list.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</syntaxhighlight></div>
a82b3259d1d324c6ec288219e34e3b363207708f
563
554
2014-05-04T20:53:33Z
Azander
9
/* Switch to new Syntax Template */
wikitext
text/x-wiki
{{Syntax|ns_access|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
== <div class="moduleheader">Examples</div> ==
::/msg NickServ '''ACCESS ADD''' anyone@*.bepeg.com Allows access to user anyone from any machine in the bepeg.com domain.
::/msg NickServ '''ACCESS DEL''' anyone@*.bepeg.com Reverses the previous command.
::/msg NickServ '''ACCESS LIST''' Displays the current access list.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</syntaxhighlight></div>
81c45ad3acd8f186d2697f75184407bf92e7b2f2
554
552
2014-05-04T20:12:15Z
Azander
9
/* removed TOC */
wikitext
text/x-wiki
__NOTOC__
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModServ}}||''' NickServ '''
|-
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
== <div class="moduleheader">Description</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
== <div class="moduleheader">Examples</div> ==
::/msg NickServ '''ACCESS ADD''' anyone@*.bepeg.com Allows access to user anyone from any machine in the bepeg.com domain.
::/msg NickServ '''ACCESS DEL''' anyone@*.bepeg.com Reverses the previous command.
::/msg NickServ '''ACCESS LIST''' Displays the current access list.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</syntaxhighlight></div>
577118c056bcede8df2b1b8abe85561e6efd8215
552
547
2014-05-04T17:51:43Z
Azander
9
/* Added Service, and ModServ Template */
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModServ}}||''' NickServ '''
|-
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
== <div class="moduleheader">Description</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
::/msg NickServ '''ACCESS ADD''' anyone@*.bepeg.com Allows access to user anyone from any machine in the bepeg.com domain.
::/msg NickServ '''ACCESS DEL''' anyone@*.bepeg.com Reverses the previous command.
::/msg NickServ '''ACCESS LIST''' Displays the current access list.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</syntaxhighlight></div>
8d835a38d308c2d3b3f965194e0984fe5255d7db
547
540
2014-05-04T17:41:48Z
Azander
9
/* Added /msg Nickserv to examples */
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
== <div class="moduleheader">Description</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
::/msg NickServ '''ACCESS ADD''' anyone@*.bepeg.com Allows access to user anyone from any machine in the bepeg.com domain.
::/msg NickServ '''ACCESS DEL''' anyone@*.bepeg.com Reverses the previous command.
::/msg NickServ '''ACCESS LIST''' Displays the current access list.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</syntaxhighlight></div>
f68a674b89425b8be4818ae5f0a17fb6c6ecb1c3
540
523
2014-03-24T23:49:24Z
Yoerger
7
Fixed div tag error where Div Tag was placed inside the Syntax Tag instead of outside to close the code div.
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
== <div class="moduleheader">Description</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
::'''ACCESS ADD''' anyone@*.bepeg.com Allows access to user anyone from any machine in the bepeg.com domain.
::'''ACCESS DEL''' anyone@*.bepeg.com Reverses the previous command.
::'''ACCESS LIST''' Displays the current access list.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</syntaxhighlight></div>
e4750bceb5645e3a2afe359aeb906f92cedb77fb
523
522
2013-12-04T20:59:28Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
== <div class="moduleheader">Description</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
::'''ACCESS ADD''' anyone@*.bepeg.com Allows access to user anyone from any machine in the bepeg.com domain.
::'''ACCESS DEL''' anyone@*.bepeg.com Reverses the previous command.
::'''ACCESS LIST''' Displays the current access list.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</div></syntaxhighlight>
a3e7634525ac8b8b6aa661dd0f73363753f972df
522
521
2013-12-04T20:57:33Z
Yoerger
7
Changed to be NS instead of CS Commands
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
<div class="moduleheader">Description</div>
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
<div class="moduleheader">Commands</div>
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
::'''ACCESS ADD''' anyone@*.bepeg.com Allows access to user anyone from any machine in the bepeg.com domain.
::'''ACCESS DEL''' anyone@*.bepeg.com Reverses the previous command.
::'''ACCESS LIST''' Displays the current access list.
<div class="moduleheader">Default Configuration</div>
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</div></syntaxhighlight>
75a250b64cb9e0d90215b3c8e73be23043af51b1
521
520
2013-12-04T06:34:08Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
<div class="moduleheader">Description</div>
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.
<div class="moduleheader">Commands</div>
access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''
<div class="moduleheader">Default Configuration</div>
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</div></syntaxhighlight>
49ebe69dc67701a2d3c4e9e3f6d6aaaf7df412e1
520
519
2013-12-04T06:29:32Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
<div class="moduleheader">Description</div>
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.
<div class="moduleheader">Commands</div>
access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''
<div class="moduleheader">Default Configuration</div>
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</div></syntaxhighlight>
0edb409145515b793f3a502df23e932abfd7bc94
519
518
2013-12-04T06:26:47Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
<div class="moduleheader">Description</div>
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.
<div class="moduleheader">Commands</div>
access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''
<div class="moduleheader">Default Configuration</div>
<div class="code">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</div>
4eb407dc5cb442123dd47000b4f2072f795c34cd
518
517
2013-12-04T06:22:33Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
<div class="moduleheader">Description</div>
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.
<div class="moduleheader">Commands</div>
access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''
<div class="moduleheader">Default Configuration</div>
c3d173cafaf3dd9d6aaa32d6f5ba0a48bec4cc24
517
516
2013-12-04T06:21:43Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly>
<div class="moduleheader">Description</div>
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.
<div class="moduleheader">Commands</div>
access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''
<div class="moduleheader">Default Configuration</div>
d1494dca96cc6be19b58906975cf926882baea9e
516
515
2013-12-04T06:21:34Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly>
<div class="moduleheader">Description</div>
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.
<div class="moduleheader">Commands</div>
access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''
<div class="moduleheader">Default Configuration</div>
2f0432b8031c4f4256f2d89dd42ae42fa192dd6a
515
514
2013-12-04T06:20:14Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly>
<div class="moduleheader">Description</div>
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.
<div class="moduleheader">Commands</div>
access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''
fde4cf1cb0dfcaa02cee8f5356b444c88727f05f
514
512
2013-12-04T06:19:33Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly>
<div class="moduleheader">Description</div>
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.
<div class="moduleheader">Commands</div>
access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''
8c16b4275410ec4c6df06c94c97a29118a42cd03
512
507
2013-12-04T06:17:44Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly>
{{Boxes|Description|{{{description|Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.}}} }}
{{Boxes|Commands|{{{commands|access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''}}} }}
<div class="moduleheader">test</div>
0eb47d48445b9aace80cbe7a263df8e37dc45c5e
507
504
2013-12-04T06:10:16Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly>
{{Boxes|Description|{{{description|Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.}}} }}
{{Boxes|Commands|{{{commands|access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''}}} }}
6b828ade41a792371f377377254cb547f818c452
504
501
2013-12-04T06:05:33Z
Yoerger
7
wikitext
text/x-wiki
{| align="left"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly>
{{Boxes|Description|{{{description|Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.}}} }}
{{Boxes|Commands|{{{commands|access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''}}} }}
f83f91c5c2dd469a1ddcedd7301b36ffe909a6ec
501
498
2013-12-04T06:04:03Z
Yoerger
7
Table Alignment Change
wikitext
text/x-wiki
{| align="left"
|-
||
{| class="wikitable"
|{{ModHead}}||'''ns_access'''
|-
|{{ModAuth}}||'''Anope'''
|-
|}
|-
|}
__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly>
{{Boxes|Description|{{{description|Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.}}} }}
{{Boxes|Commands|{{{commands|access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''}}} }}
731e68dd83bf0833aa079e29db393e917eb9543b
498
491
2013-12-04T06:02:30Z
Yoerger
7
wikitext
text/x-wiki
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||'''ns_access'''
|-
|{{ModAuth}}||'''Anope'''
|-
|}
|-
|}
__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly>
{{Boxes|Description|{{{description|Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.}}} }}
{{Boxes|Commands|{{{commands|access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''}}} }}
aac2107e8f18e17f18101ff34d9c375027d9d3ae
491
2013-12-04T00:32:45Z
Yoerger
7
Created page with "__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly> {{Boxes|Module Name|{{{name|ns_access}}} }} {{Boxes|A..."
wikitext
text/x-wiki
__NOEDITSECTION__ __NOTOC__ <includeonly>[[Category:Modules]] [[Category:{{#explode:{{SUBPAGENAME}}|/|1}}]]</includeonly>
{{Boxes|Module Name|{{{name|ns_access}}} }}
{{Boxes|Author|{{{author|Anope IRC Services}}} }}
{{Boxes|Description|{{{description|Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user access level of -1.}}} }}
{{Boxes|Commands|{{{commands|access #channel '''ADD''' mask level
access #channel '''DEL''' {mask or entry-num or list}
access #channel '''LIST''' [mask or list]
access #channel '''VIEW''' [mask or list]
::The '''ACCESS ADD''' command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (egAUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
::The '''ACCESS DEL''' command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
::The '''ACCESS LIST''' command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example: ''ACCESS #channel LIST 2-5,7-9'' Lists access entries numbered 2 through 5 and 7 through 9.
::The '''ACCESS VIEW''' command displays the access list similar to ACCESS LIST but shows the creator and last used time.
::The '''ACCESS CLEAR''' command clears all entries of the access list.
'''User access levels''' can be seen by using the '''LEVELS''' command; type ''/msg ChanServ HELP LEVELS''}}} }}
5cb68ab17995fd5b39f0ac24e2e0c884ece9bb9e
2.0/Modules/ns access/es
0
74
539
538
2014-03-24T23:48:33Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
== <div class="moduleheader">Description</div> ==
Modifica o muestra la lista de acceso para tu nick. Esta es la lista de direcciones que seran automaticamente reconocidas por NickServ como autorizadas a usar el nick. Si quieres usar el nick desde una dirección diferente, meed enviar un comando IDENTIFY para hacer que NickServ te reconozca. Servicios Los operadores pueden ofrecer un nick para modificar las listas de acceso de otros usuarios.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
::'''ACCESS ADD''' anyone@*.bepeg.com Permite acceso al usuario anyone desde cualquier maquina en el dominio bepeg.com.
::'''ACCESS DEL''' anyone@*.bepeg.com Invierte el orden anterior.
::'''ACCESS LIST''' Muestra la lista de acceso actual.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Proporciona el comando nickserv/access.
*
* Se utiliza para la configuración de lo que alberga tener acceso a su cuenta.
*/
module
{
name = "ns_access"
/*
* El número máximo de entradas permitidas en la lista de acceso de un apodo.
* Si no se establece el valor por defecto es 32. Este número no puede ser fijado a 0.
*/
accessmax = 32
/*
* Si se establece, Servicios agregarán la la mascara de usuarios que se registren a la lista de acceso de su cuenta recién creada.
* Si no se establece, los usuarios siempre tendrán que identificar a NickServ antes de ser reconocido, a menos que se añaden
* manualmente una dirección a la lista de acceso de su cuenta.
* Esta directiva es opcional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</syntaxhighlight></div>
8f5b50c3c1e20b02df06f9df337eb696b49b0f1b
538
537
2014-03-24T23:47:52Z
Yoerger
7
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
== <div class="moduleheader">Description</div> ==
Modifica o muestra la lista de acceso para tu nick. Esta es la lista de direcciones que seran automaticamente reconocidas por NickServ como autorizadas a usar el nick. Si quieres usar el nick desde una dirección diferente, meed enviar un comando IDENTIFY para hacer que NickServ te reconozca. Servicios Los operadores pueden ofrecer un nick para modificar las listas de acceso de otros usuarios.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
::'''ACCESS ADD''' anyone@*.bepeg.com Permite acceso al usuario anyone desde cualquier maquina en el dominio bepeg.com.
::'''ACCESS DEL''' anyone@*.bepeg.com Invierte el orden anterior.
::'''ACCESS LIST''' Muestra la lista de acceso actual.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Proporciona el comando nickserv/access.
*
* Se utiliza para la configuración de lo que alberga tener acceso a su cuenta.
*/
module
{
name = "ns_access"
/*
* El número máximo de entradas permitidas en la lista de acceso de un apodo.
* Si no se establece el valor por defecto es 32. Este número no puede ser fijado a 0.
*/
accessmax = 32
/*
* Si se establece, Servicios agregarán la la mascara de usuarios que se registren a la lista de acceso de su cuenta recién creada.
* Si no se establece, los usuarios siempre tendrán que identificar a NickServ antes de ser reconocido, a menos que se añaden
* manualmente una dirección a la lista de acceso de su cuenta.
* Esta directiva es opcional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</div></syntaxhighlight>
b528e9c1e6cb30d6df9afacb0a686da111b9a822
537
2014-03-24T23:43:27Z
Yoerger
7
Created page with "{{Language|2.0/Modules/ns_access}} {| align="center" |- || {| class="wikitable" |{{ModHead}}||''' ns_access ''' |- |{{ModAuth}}||''' Anope ''' |- |} |- |} == <div class="..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModHead}}||''' ns_access '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
== <div class="moduleheader">Description</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
== <div class="moduleheader">Commands</div> ==
access '''ADD''' [nickname] mask
access '''DEL''' [nickname] mask
access '''LIST''' [nickname]
::'''ACCESS ADD''' anyone@*.bepeg.com Allows access to user anyone from any machine in the bepeg.com domain.
::'''ACCESS DEL''' anyone@*.bepeg.com Reverses the previous command.
::'''ACCESS LIST''' Displays the current access list.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_access
*
* Provides the command nickserv/access.
*
* Used for configuring what hosts have access to your account.
*/
module
{
name = "ns_access"
/*
* The maximum number of entries allowed on a nickname's access list.
* If not set, the default is 32. This number cannot be set to 0.
*/
accessmax = 32
/*
* If set, Services will add the usermask of registering users to the access list of their
* newly created account. If not set, users will always have to identify to NickServ before
* being recognized, unless they manually add an address to the access list of their account.
* This directive is optional.
*/
addaccessonreg = yes
}
command { service = "NickServ"; name = "ACCESS"; command = "nickserv/access"; }
</div></syntaxhighlight>
a3e7634525ac8b8b6aa661dd0f73363753f972df
2.0/Modules/ns ajoin
0
80
863
571
2014-05-09T20:32:29Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_ajoin}}
{{Syntax|ns_ajoin|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
== <div class="moduleheader">Commands</div> ==
ajoin ADD [nickname] channel [key]
ajoin DEL [nickname] channel
ajoin LIST [nickname]
== <div class="moduleheader">Examples</div> ==
/msg nickserv ajoin ADD MyName #help
/msg nickserv ajoin DEL #help
/msg nickserv ajoin LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
</syntaxhighlight></div>
86363c8c1bd7fe258e670a0d2c9272f427ed42c4
571
562
2014-05-04T21:56:18Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_ajoin}}
{{Syntax|ns_ajoin|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
== <div class="moduleheader">Commands</div> ==
ajoin ADD [nickname] channel [key]
ajoin DEL [nickname] channel
ajoin LIST [nickname]
== <div class="moduleheader">Examples</div> ==
::/msg nickserv ajoin ADD MyName #help
::/msg nickserv ajoin DEL #help
::/msg nickserv ajoin LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
</syntaxhighlight></div>
5d41357fac3c0715188d107ea137582a72e46ae7
562
555
2014-05-04T20:52:03Z
Azander
9
/* Switch to new Syntax Template */
wikitext
text/x-wiki
{{Syntax|ns_ajoin|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
== <div class="moduleheader">Commands</div> ==
ajoin ADD [nickname] channel [key]
ajoin DEL [nickname] channel
ajoin LIST [nickname]
== <div class="moduleheader">Examples</div> ==
::/msg nickserv ajoin ADD MyName #help
::/msg nickserv ajoin DEL #help
::/msg nickserv ajoin LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
</syntaxhighlight></div>
5b82c9c8201729eb59f4f9c537d547ea7cb56fc9
555
553
2014-05-04T20:12:34Z
Azander
9
/* removed TOC */
wikitext
text/x-wiki
__NOTOC__
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModServ}}||''' NickServ '''
|-
|{{ModHead}}||''' ns_ajoin '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
== <div class="moduleheader">Description</div> ==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
== <div class="moduleheader">Commands</div> ==
ajoin ADD [nickname] channel [key]
ajoin DEL [nickname] channel
ajoin LIST [nickname]
== <div class="moduleheader">Examples</div> ==
::/msg nickserv ajoin ADD MyName #help
::/msg nickserv ajoin DEL #help
::/msg nickserv ajoin LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
</syntaxhighlight></div>
da739877be3819a3dd5a0c9dfb422721226145b6
553
2014-05-04T20:01:15Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_access}} {| align="center" |- || {| class="wikitable" |{{ModServ}}||''' NickServ ''' |- |{{ModHead}}||''' ns_ajoin ''' |- |{{ModAuth}}||''' Anop..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_access}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModServ}}||''' NickServ '''
|-
|{{ModHead}}||''' ns_ajoin '''
|-
|{{ModAuth}}||''' Anope '''
|-
|}
|-
|}
== <div class="moduleheader">Description</div> ==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
== <div class="moduleheader">Commands</div> ==
ajoin ADD [nickname] channel [key]
ajoin DEL [nickname] channel
ajoin LIST [nickname]
== <div class="moduleheader">Examples</div> ==
::/msg nickserv ajoin ADD MyName #help
::/msg nickserv ajoin DEL #help
::/msg nickserv ajoin LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_ajoin
*
* Provides the command nickserv/ajoin.
*
* Used for configuring channels to join once you identify.
*/
module
{
name = "ns_ajoin"
/*
* The maximum number of channels a user can have on NickServ's AJOIN command.
*/
ajoinmax = 10
}
command { service = "NickServ"; name = "AJOIN"; command = "nickserv/ajoin"; }
</syntaxhighlight></div>
3c7c2bb802b125e69d224f745b3a438e0fb4bba8
2.0/Modules/ns alist
0
81
864
572
2014-05-09T20:32:52Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_alist}}
{{Syntax|ns_alist|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is
limited to Services Operators
== <div class="moduleheader">Commands</div> ==
;alist [nickname]
== <div class="moduleheader">Examples</div> ==
/msg Nickserv alist
/msg NickServ alist fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
</syntaxhighlight></div>
09725061cd81c2ce497fe67d011e438568b869e8
572
564
2014-05-04T21:57:00Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_alist}}
{{Syntax|ns_alist|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is
limited to Services Operators
== <div class="moduleheader">Commands</div> ==
alist [nickname]
== <div class="moduleheader">Examples</div> ==
::/msg Nickserv alist
::/msg NickServ alist fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
</syntaxhighlight></div>
bc586ba787506f3277a2f63a4c62d581ea08aeef
564
560
2014-05-04T21:03:26Z
Azander
9
wikitext
text/x-wiki
{{Syntax|ns_alist|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is
limited to Services Operators
== <div class="moduleheader">Commands</div> ==
alist [nickname]
== <div class="moduleheader">Examples</div> ==
::/msg Nickserv alist
::/msg NickServ alist fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_alist
*
* Provides the command nickserv/alist.
*
* Used for viewing what channels you have access to.
*/
module { name = "ns_alist" }
command { service = "NickServ"; name = "ALIST"; command = "nickserv/alist"; }
</syntaxhighlight></div>
b3555cb273ab1abd006ca80ebcc8399e0f083e95
560
558
2014-05-04T20:49:04Z
Azander
9
wikitext
text/x-wiki
{{Syntax|ns_alist|NickServ|Anope}}
e72c4222eaf0ea9c24226b28efc2cddea1a5a090
558
2014-05-04T20:48:34Z
Azander
9
Created page with "{{Syntax|ns_alist|NickServ|ns_alist|Anope}}"
wikitext
text/x-wiki
{{Syntax|ns_alist|NickServ|ns_alist|Anope}}
cf9a33769c7b6b771cd85c403c1935762636fc6a
2.0/Modules/ns cert
0
82
573
565
2014-05-04T21:59:04Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_cert}}
{{Syntax|ns_cert|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
== <div class="moduleheader">Commands</div> ==
;CERT ADD <fingerprint>
: Adds this fingerprint to the certificate list and automatically identifies you when you connect to IRC using this certificate.
;CERT DEL <fingerprint>
: Reverses the previous command.
;CERT LIST
: Displays the current certificate list.
== <div class="moduleheader">Examples</div> ==
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
</syntaxhighlight></div>
73279b3e3767801a2f1ca34d59612028a35eb5d4
565
2014-05-04T21:24:57Z
Azander
9
Created page with "{{Syntax|ns_cert|NickServ|Anope}} == <div class="moduleheader">Description</div> == Modifies or displays the certificate list for your nick. If you connect to IRC and provide..."
wikitext
text/x-wiki
{{Syntax|ns_cert|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
== <div class="moduleheader">Commands</div> ==
;CERT ADD <fingerprint>
: Adds this fingerprint to the certificate list and automatically identifies you when you connect to IRC using this certificate.
;CERT DEL <fingerprint>
: Reverses the previous command.
;CERT LIST
: Displays the current certificate list.
== <div class="moduleheader">Examples</div> ==
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_cert
*
* Provides the command nickserv/cert.
*
* Used for configuring your SSL certificate list, which can be used to automatically identify you.
*/
module
{
name = "ns_cert"
/*
* The maximum number of entries allowed on a nickname's certificate fingerprint list.
* The default is 5. This number cannot be set to 0.
*/
max = 5
}
command { service = "NickServ"; name = "CERT"; command = "nickserv/cert"; }
</syntaxhighlight></div>
20be3889dd1dafe08278618f6b60d38e2ed6b2e0
2.0/Modules/ns confirm
0
83
574
569
2014-05-04T22:00:27Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_confirm}}
{{Syntax|ns_confirm|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the '''RESETPASS''' command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the <u>nickserv/confirm</u> permission can replace '''passcode''' with a users nick to force validate them.
== <div class="moduleheader">Commands</div> ==
:'''confirm''' passcode
== <div class="moduleheader">Examples</div> ==
:/msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
</syntaxhighlight></div>
5eb4a0df4792b340145a961e3e29cfe4444af5b7
569
567
2014-05-04T21:54:46Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_confirm}}
{{Syntax|ns_confirm|NickSerc|Anope}}
== <div class="moduleheader">Description</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the '''RESETPASS''' command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the <u>nickserv/confirm</u> permission can replace '''passcode''' with a users nick to force validate them.
== <div class="moduleheader">Commands</div> ==
:'''confirm''' passcode
== <div class="moduleheader">Examples</div> ==
:/msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
</syntaxhighlight></div>
946063025b9374a3332cf545720c0a1185224c1e
567
566
2014-05-04T21:53:48Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/{{{1}}}}}
{{Syntax|ns_confirm|NickSerc|Anope}}
== <div class="moduleheader">Description</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the '''RESETPASS''' command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the <u>nickserv/confirm</u> permission can replace '''passcode''' with a users nick to force validate them.
== <div class="moduleheader">Commands</div> ==
:'''confirm''' passcode
== <div class="moduleheader">Examples</div> ==
:/msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
</syntaxhighlight></div>
8682bb1f9733f63d9d9545cd1d3da972f8f13768
566
2014-05-04T21:40:49Z
Azander
9
/* Confirm */
wikitext
text/x-wiki
{{Syntax|ns_confirm|NickSerc|Anope}}
== <div class="moduleheader">Description</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the '''RESETPASS''' command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the <u>nickserv/confirm</u> permission can replace '''passcode''' with a users nick to force validate them.
== <div class="moduleheader">Commands</div> ==
:'''confirm''' passcode
== <div class="moduleheader">Examples</div> ==
:/msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
</syntaxhighlight></div>
cca2b85f769cf26a59e0b921be04e7e6b5e2ee81
2.0/Modules/ns drop
0
84
575
2014-05-04T22:06:20Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_drop}} {{Syntax|ns_drop|NickServ|Anope}} == <div class="moduleheader">Description</div> == Drops the given nick from the database. Once your nicknam..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_drop}}
{{Syntax|ns_drop|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Drops the given nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will be able to gain control of this nick.
As a Services Operator, you may drop any nick.
== <div class="moduleheader">Commands</div> ==
;DROP [nickname]
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ DROP
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_drop
*
* Provides the command nickserv/drop.
*
* Used for unregistering names.
*/
module { name = "ns_drop" }
command { service = "NickServ"; name = "DROP"; command = "nickserv/drop"; }
</syntaxhighlight></div>
478f5aff4781584c9f4ce393c2492de8cbf77ad0
2.0/Modules/ns getemail
0
85
576
2014-05-04T22:12:26Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_getemail}} {{Syntax|ns_getemail|NickServ|Anope}} == <div class="moduleheader">Description</div> == Returns the matching nicks that used given email...."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_getemail}}
{{Syntax|ns_getemail|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''Access to this command requires the permission nickserv/getemail to be present in your opertype.'''
== <div class="moduleheader">Commands</div> ==
;GETEMAIL email
:
== <div class="moduleheader">Examples</div> ==
/msg nickserv getemail fred@example.com
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_getemail
*
* Provides the command nickserv/getemail.
*
* Used for getting registered accounts by searching for emails.
*/
module { name = "ns_getemail" }
command { service = "NickServ"; name = "GETEMAIL"; command = "nickserv/getemail"; permission = "nickserv/getemail"; group = "nickser
v/admin"; }
</syntaxhighlight></div>
d14109c664511013299c60555cecd1ffa1b4a067
2.0/Modules/ns getpass
0
86
601
600
2014-05-05T16:36:22Z
Azander
9
/* Examples */
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_getpass}}
{{Syntax|ns_getpass|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''Access to this command requires the permission nickserv/getpass to be present in your opertype.'''
== <div class="moduleheader">Commands</div> ==
;GETPASS nickname
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ GETPASS Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
</syntaxhighlight></div>
8701241258d69c848a3ce2637c92fafb1609f1d2
600
577
2014-05-05T16:35:18Z
Azander
9
/* Commands */
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_getpass}}
{{Syntax|ns_getpass|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''Access to this command requires the permission nickserv/getpass to be present in your opertype.'''
== <div class="moduleheader">Commands</div> ==
;GETPASS nickname
:
== <div class="moduleheader">Examples</div> ==
/msg nickserv getpass Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
</syntaxhighlight></div>
026884e631f84e727089001993a0c0589ba3f034
577
2014-05-04T22:16:31Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_getpass}} {{Syntax|ns_getpass|NickServ|Anope}} == <div class="moduleheader">Description</div> == Returns the password for the given nickname. Note ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_getpass}}
{{Syntax|ns_getpass|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''Access to this command requires the permission nickserv/getpass to be present in your opertype.'''
== <div class="moduleheader">Commands</div> ==
;getpass nickname
:
== <div class="moduleheader">Examples</div> ==
/msg nickserv getpass Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_getpass
*
* Provides the command nickserv/getpass.
*
* Used for getting users passwords.
*
* Requires no encryption is being used.
*/
#module { name = "ns_getpass" }
#command { service = "NickServ"; name = "GETPASS"; command = "nickserv/getpass"; permission = "nickserv/getpass"; }
</syntaxhighlight></div>
a12f19cb834c86eb0cd33bc05217de9948eb9713
2.0/Modules/ns group
0
87
578
2014-05-04T22:59:23Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_group}} {{Syntax|ns_group|NickServ|Anope}} == <div class="moduleheader">Description</div> == This command makes your nickname join the target nickna..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_group}}
{{Syntax|ns_group|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command makes your nickname join the target nickname's
group. password is the password of the target nickname.
Joining a group will allow you to share your configuration,
memos, and channel privileges with all the nicknames in the
group, and much more!
A group exists as long as it is useful. This means that even
if a nick of the group is dropped, you won't lose the
shared things described above, as long as there is at
least one nick remaining in the group.
You may be able to use this command even if you have not registered
your nick yet. If your nick is already registered, you'll
need to identify yourself before using this command.
It is recommended to use this command with a non-registered
nick because it will be registered automatically when
using this command. You may use it with a registered nick (to
change your group) only if your network administrators allowed
it.
You can only be in one group at a time. Group merging is
not possible.
'''Note''': all the nicknames of a group have the same password.
== <div class="moduleheader">Commands</div> ==
;group [target] [password]
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ group MainNick MyPassword
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_group
*
* Provides the commands nickserv/group, nickserv/glist, and nickserv/ungroup.
*
* Used for controlling nick groups.
*/
module
{
name = "ns_group"
/*
* The maximum number of nicks allowed in a group.
*
* This directive is optional, but recommended. If not set or set to 0, no limits will be applied.
*/
maxaliases = 16
/*
* If set, the NickServ GROUP command won't allow any group changes. This is recommended to
* prevent users from accidentally dropping their nicks, as it forces users to explicitly
* drop their nicks before adding it to another group.
*
* This directive is optional, but recommended.
*/
nogroupchange = yes
}
command { service = "NickServ"; name = "GLIST"; command = "nickserv/glist"; }
command { service = "NickServ"; name = "GROUP"; command = "nickserv/group"; }
command { service = "NickServ"; name = "UNGROUP"; command = "nickserv/ungroup"; }
</syntaxhighlight></div>
9c2e11b3a823208cf3db332b9494716e9ed8754a
2.0/Modules/ns identify
0
88
579
2014-05-04T23:12:19Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_confirm}} {{Syntax|ns_confirm|NickServ|Anope}} == <div class="moduleheader">Description</div> == This command is used by several commands as a way t..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_confirm}}
{{Syntax|ns_confirm|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the nickserv/confirm permission can replace passcode with a users nick to force validate them.
== <div class="moduleheader">Commands</div> ==
;confirm passcode
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ confirm h683BhdE
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
</syntaxhighlight></div>
b9c6cb357a3dc895677ea5ab66e01f7b2956a084
2.0/Modules/ns info
0
89
580
2014-05-04T23:19:08Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_info}} {{Syntax|ns_info|NickServ|Anope}} == <div class="moduleheader">Description</div> == Displays information about the given nickname, such as th..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_info}}
{{Syntax|ns_info|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
== <div class="moduleheader">Commands</div> ==
;info [nickname]
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ info Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_info
*
* Provides the commands:
* nickserv/info. - Used for gathering information about an account.
* nickserv/set/hide, nickserv/saset/hide - Used for configuring which options are publically shown in nickserv/info.
*
*/
module { name = "ns_info" }
command { service = "NickServ"; name = "INFO"; command = "nickserv/info"; }
command { service = "NickServ"; name = "SET HIDE"; command = "nickserv/set/hide"; }
command { service = "NickServ"; name = "SASET HIDE"; command = "nickserv/saset/hide"; permission = "nickserv/saset/hide"; }
</syntaxhighlight></div>
f9a363a98d46229205ca3eb283faeec74c8f5a56
2.0/Modules/ns logout
0
90
581
2014-05-04T23:27:19Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_logout}} {{Syntax|ns_logout|NickServ|Anope}} == <div class="moduleheader">Description</div> == Without a parameter, reverses the effect of the IDENT..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_logout}}
{{Syntax|ns_logout|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
'''With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services Operators. '''
== <div class="moduleheader">Commands</div> ==
logout [nickname [REVALIDATE]]
== <div class="moduleheader">Examples</div> ==
/msg NickServ logout
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_logout
*
* Provides the command nickserv/logout.
*
* Used for logging out of your account.
*/
module { name = "ns_logout" }
command { service = "NickServ"; name = "LOGOUT"; command = "nickserv/logout"; }
</syntaxhighlight></div>
a2460346ba2a6851ca57651d58951f8ffabb37aa
2.0/Modules/ns recover
0
91
861
860
2014-05-09T20:19:54Z
Azander
9
/* Description */
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_recover}}
{{Syntax|ns_recover|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
*'''NOTE''': GHOST and RELEASE are disabled by default.
== <div class="moduleheader">Commands</div> ==
;recover nickname [password]
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ recover Fred MyPassword
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
</syntaxhighlight></div>
0f539f7238b08e78400a18aa3e3ce805f0ba46b7
860
582
2014-05-09T20:18:10Z
Azander
9
/* Description */
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_recover}}
{{Syntax|ns_recover|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
*'''NOTE''': GHOST and RELEASE are disabeled by default.
== <div class="moduleheader">Commands</div> ==
;recover nickname [password]
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ recover Fred MyPassword
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
</syntaxhighlight></div>
b76fd708026dfcec28c6b28d48df5189ffe5030f
582
2014-05-04T23:40:54Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_recover}} {{Syntax|ns_recover|NickServ|Anope}} == <div class="moduleheader">Description</div> == Recovers your nick from another user or from servic..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_recover}}
{{Syntax|ns_recover|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
== <div class="moduleheader">Commands</div> ==
;recover nickname [password]
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ recover Fred MyPassword
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_recover
*
* Provides the command nickserv/recover.
*
* Used for recovering your nick from services or another user.
*/
module
{
name = "ns_recover"
/*
* If set, Services will svsnick and svsjoin users who use the recover
* command on an identified user to the nick and channels of the recovered user.
*
* This directive is opional.
*/
restoreonrecover = yes
}
command { service = "NickServ"; name = "RECOVER"; command = "nickserv/recover"; }
# Uncomment below to emulate 1.8's behavior of ghost and release.
#command { service = "NickServ"; name = "GHOST"; command = "nickserv/recover"; }
#command { service = "NickServ"; name = "RELEASE"; command = "nickserv/recover"; }
</syntaxhighlight></div>
606fcb496ebfa1fb2211c0c0631f22b80ed506b9
2.0/Modules/ns register
0
92
583
2014-05-05T00:03:19Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_register}} {{Syntax|ns_register|NickServ|Anope}} == <div class="moduleheader">Description</div> == Registers your nickname in the NickServ database...."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_register}}
{{Syntax|ns_register|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
==== Guidelines on choosing passwords: ====
Passwords should not be easily guessable. For example, using your real name as a password is a bad idea. Using your nickname as a password is a much worse idea ;) and, in fact, NickServ will not allow it. Also, short passwords are vulnerable to trial-and-error searches, so you should choose a password at least 5 characters long. Finally, the space character cannot be used in passwords.
This command also creates a new group for your nickname, that will allow you to register other nicks later sharing the same configuration, the same set of memos and the same channel privileges.
== <div class="moduleheader">Commands</div> ==
;register password email
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ register MyPassword fred@example.com
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_register
*
* Provides the commands nickserv/confirm, nickserv/register, and nickserv/resend.
*
* Used for registering accounts.
*/
module
{
name = "ns_register"
/*
* Registration confirmation setting. Set to "none" for no registration confirmation,
* "mail" for email confirmation, and "admin" to have services operators manually confirm
* every registration. Set to "disable" to completely disable all registrations.
*/
registration = "none"
/*
* The minimum length of time between consecutive uses of NickServ's RESEND command.
*
* This directive is optional, but recommended. If not set, this restriction will be disabled.
*/
resenddelay = 90s
/*
* Prevents users from registering their nick if they are not connected
* for at least the given number of seconds.
*
* This directive is optional.
*/
#nickregdelay = 30s
/*
* The length of time a user using an unconfirmed account has
* before the account will be released for general use again.
*/
#unconfirmedexpire = 1d
}
command { service = "NickServ"; name = "CONFIRM"; command = "nickserv/confirm"; }
command { service = "NickServ"; name = "REGISTER"; command = "nickserv/register"; }
command { service = "NickServ"; name = "RESEND"; command = "nickserv/resend"; }
</syntaxhighlight></div>
c5b274ab36b268eaba6fb0d5a1cdc1cc72cc8c0f
2.0/Modules/ns resetpass
0
93
584
2014-05-05T00:08:59Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_resetpass}} {{Syntax|ns_resetpass|NickServ|Anope}} == <div class="moduleheader">Description</div> == Sends a passcode to the nickname with instructi..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_resetpass}}
{{Syntax|ns_resetpass|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sends a passcode to the nickname with instructions on how to reset their password. Email must be the email address associated to the nickname.
== <div class="moduleheader">Commands</div> ==
;resetpass nickname email
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ Fred fred@example.com
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_resetpass
*
* Provides the command nickserv/resetpass.
*
* Used for resetting passwords by emailing users a temporary one.
*/
module { name = "ns_resetpass" }
command { service = "NickServ"; name = "RESETPASS"; command = "nickserv/resetpass"; }
</syntaxhighlight></div>
2ed8afec8f6629c913e05692a361b1784e61196b
2.0/Modules/ns set
0
94
587
586
2014-05-05T00:57:04Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_set}}
{{Syntax|ns_set|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sets various nickname options. option can be one of:
:SET AUTOOP Sets whether services should set channel status modes on you automatically.
:SET DISPLAY Set the display of your group in Services
:SET EMAIL Associate an E-mail address with your nickname
:SET FACEBOOK Associate a Facebook URL with your account
:SET GREET Associate a greet message with your nickname
:SET HIDE Hide certain pieces of nickname information
:SET KEEPMODES Enable or disable keep modes
:SET KILL Turn protection on or off
:SET LANGUAGE Set the language Services will use when messaging you
:SET PASSWORD Set your nickname password
:SET PRIVATE Prevent the nickname from appearing in the LIST command
:SET SECURE Turn nickname security on or off
:SET TWITTER Associate a Twitter account with your account
:SET URL Associate a URL with your account
Type /msg NickServ HELP set option for more information on a specific option.
== <div class="moduleheader">Commands</div> ==
;SET AUTOOP {ON | OFF}
:Sets whether you will be given your channel status modes automatically. Set to ON to allow ChanServ to set status modes on you automatically when entering channels. Note that depending on channel settings some modes may not get set automatically.
;SET DISPLAY new-display
:Changes the display used to refer to your nickname group in Services. The new display MUST be a nick of your group.
;SET EMAIL emailaddress
:Associates the given E-mail address with your nickname. This address will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET FACEBOOK FacebookID
:Associates the given Facebook Name with your nickname. This address will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET GREET message
:Makes the given message the greet of your nickname, that will be displayed when joining a channel that has GREET option enabled, provided that you have the necessary access on it.
;SET HIDE {EMAIL | STATUS | USERMASK | QUIT} {ON | OFF}
:Allows you to prevent certain pieces of information from being displayed when someone does a NickServ '''INFO''' on your nick. You can hide your E-mail address ('''EMAIL'''), last seen user@host mask ('''USERMASK'''), your services access status ('''STATUS''') and last quit message ('''QUIT'''). The second parameter specifies whether the information should be displayed ('''OFF''') or hidden ('''ON''').
;SET KEEPMODES {ON | OFF}
:Enables or disables keepmodes for your nick. If keep modes is enabled, services will remember your usermodes and attempt to re-set them the next time you authenticate.
;SET KILL {ON | QUICK | IMMED | OFF}
:Turns the automatic protection option for your nick on or off. With protection on, if another user tries to take your nick, they will be given one minute to change to another nick, after which NickServ will forcibly change their nick.
:If you select QUICK, the user will be given only 20 seconds to change nicks instead of the usual 60. If you select IMMED, the user's nick will be changed immediately without being warned first or given a chance to change their nick; please do not use this option unless necessary. Also, your network's administrators may have disabled this option.
;SET LANGUAGE language
:Changes the language Services uses when sending messages to you (for example, when responding to a command you send). language should be chosen from the following list of supported languages:
:en (English)
:ca_ES.UTF-8 (Catala)
:de_DE.UTF-8 (Deutsch)
:el_GR.UTF-8 (Ελληνικά)
:es_ES.UTF-8 (Español)
:fr_FR.UTF-8 (Français)
:hu_HU.UTF-8 (Magyar)
:it_IT.UTF-8 (Italiano)
:nl_NL.UTF-8 (Nederlands)
:pl_PL.UTF-8 (Polski)
:pt_PT.UTF-8 (Português)
:ru_RU.UTF-8 (Русский)
:tr_TR.UTF-8 (Türkçe)
;SET PASSWORD new-password
:Changes the password used to identify you as the nick's owner.
;SET PRIVATE {ON | OFF}
:Turns NickServ's privacy option on or off for your nick. With '''PRIVATE''' set, your nickname will not appear in nickname lists generated with NickServ's LIST command. (However, anyone who knows your nickname can still get information on it using the '''INFO''' command.)
;SET SECURE {ON | OFF}
:Turns NickServ's security features on or off for your nick. With SECURE set, you must enter your password before you will be recognized as the owner of the nick, regardless of whether your address is on the access list. However, if you are on the access list, NickServ will not auto-kill you regardless of the setting of the '''KILL''' option.
;SET TWITTER twitter-handle
:Associates the given twitter handle with your nickname. This address will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET URL web-address
:Associates the given Website URL with your nickname. This address will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
== <div class="moduleheader">Examples</div> ==
/msg NickServ SET AUTOOP On
/msg NickServ SET DISPLAY Fred
/msg NickServ SET EMAIL fred@example.com
/msg NickServ SET FACEBOOK FredFlinstoner
/msg NickServ SET GREET Hello world!
/msg NickServ SET HIDE EMAIL ON
/msg NickServ SET KEEPMODES ON
/msg NickServ SET KILL ON
/msg NickServ SET LANGUAGE en
/msg NickServ SET PASSWORD QuIIP4G
/msg NickServ SET PRIVATE OFF
/msg NickServ SET SECURE ON
/msg NickServ SET TWITTER @FredFlinstoner
/msg NickServ SET URL Http://www.fred-flinstoner.tv
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_set
*
* Provides the commands:
* nickserv/set, nickserv/saset - Dummy help wrappers for the SET and SASET commands.
* nickserv/set/autoop, nickserv/saset/autoop - Determines whether or not modes are automatically set users when joining a channel
.
* nickserv/set/display, nickserv/saset/display - Used for setting a users display name.
* nickserv/set/email, nickserv/saset/email - Used for setting a users email address.
* nickserv/set/keepmodes, nickserv/saset/keepmodes - Configure whether or not services should retain a user's modes across sessio
ns.
* nickserv/set/kill, nickserv/saset/kill - Used for configuring nickname protection.
* nickserv/set/language, nickserv/saset/language - Used for configuring what language services use.
* nickserv/set/message, nickserv/saset/message - Used to configure how services send messages to you.
* nickserv/set/password, nickserv/saset/password - Used for changing a users password.
* nickserv/set/secure, nickserv/saset/secure - Used for configuring whether a user can identify by simply being recognized by nic
kserv/access.
* nickserv/saset/noexpire - Used for configuring noexpire, which prevents nicks from expiring.
*/
module
{
name = "ns_set"
/*
* Allow the use of the IMMED option in the NickServ SET KILL command.
*
* This directive is optional.
*/
#allowkillimmed = yes
}
command { service = "NickServ"; name = "SET"; command = "nickserv/set"; }
command { service = "NickServ"; name = "SASET"; command = "nickserv/saset"; permission = "nickserv/saset/"; group = "nickserv/admin"
; }
command { service = "NickServ"; name = "SET AUTOOP"; command = "nickserv/set/autoop"; }
command { service = "NickServ"; name = "SASET AUTOOP"; command = "nickserv/saset/autoop"; permission = "nickserv/saset/autoop"; }
command { service = "NickServ"; name = "SET DISPLAY"; command = "nickserv/set/display"; }
command { service = "NickServ"; name = "SASET DISPLAY"; command = "nickserv/saset/display"; permission = "nickserv/saset/display"; }
command { service = "NickServ"; name = "SET EMAIL"; command = "nickserv/set/email"; }
command { service = "NickServ"; name = "SASET EMAIL"; command = "nickserv/saset/email"; permission = "nickserv/saset/email"; }
command { service = "NickServ"; name = "SET KEEPMODES"; command = "nickserv/set/keepmodes"; }
command { service = "NickServ"; name = "SASET KEEPMODES"; command = "nickserv/saset/keepmodes"; permission = "nickserv/saset/keepmod
es"; }
command { service = "NickServ"; name = "SET KILL"; command = "nickserv/set/kill"; }
command { service = "NickServ"; name = "SASET KILL"; command = "nickserv/saset/kill"; permission = "nickserv/saset/kill"; }
command { service = "NickServ"; name = "SET LANGUAGE"; command = "nickserv/set/language"; }
command { service = "NickServ"; name = "SASET LANGUAGE"; command = "nickserv/saset/language"; permission = "nickserv/saset/language"
; }
command { service = "NickServ"; name = "SET MESSAGE"; command = "nickserv/set/message"; }
command { service = "NickServ"; name = "SASET MESSAGE"; command = "nickserv/saset/message"; permission = "nickserv/saset/message"; }
command { service = "NickServ"; name = "SET PASSWORD"; command = "nickserv/set/password"; }
command { service = "NickServ"; name = "SASET PASSWORD"; command = "nickserv/saset/password"; permission = "nickserv/saset/password"
; }
command { service = "NickServ"; name = "SET SECURE"; command = "nickserv/set/secure"; }
command { service = "NickServ"; name = "SASET SECURE"; command = "nickserv/saset/secure"; permission = "nickserv/saset/secure"; }
command { service = "NickServ"; name = "SASET NOEXPIRE"; command = "nickserv/saset/noexpire"; permission = "nickserv/saset/noexpire"
; }
</syntaxhighlight></div>
3f40b382ff7d1c00d4236aa3df9623b7bebcfb7f
586
2014-05-05T00:31:58Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_set}} {{Syntax|ns_set|NickServ|Anope}} == <div class="moduleheader">Description</div> == Sets various nickname options. option can be one of: :SET A..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_set}}
{{Syntax|ns_set|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sets various nickname options. option can be one of:
:SET AUTOOP Sets whether services should set channel status modes on you automatically.
:SET DISPLAY Set the display of your group in Services
:SET EMAIL Associate an E-mail address with your nickname
:SET FACEBOOK Associate a Facebook URL with your account
:SET GREET Associate a greet message with your nickname
:SET HIDE Hide certain pieces of nickname information
:SET KEEPMODES Enable or disable keep modes
:SET KILL Turn protection on or off
:SET LANGUAGE Set the language Services will use when messaging you
:SET PASSWORD Set your nickname password
:SET PRIVATE Prevent the nickname from appearing in the LIST command
:SET SECURE Turn nickname security on or off
:SET TWITTER Associate a Twitter account with your account
:SET URL Associate a URL with your account
Type /msg NickServ HELP set option for more information on a specific option.
== <div class="moduleheader">Commands</div> ==
;SET AUTOOP {ON | OFF}
:Sets whether you will be given your channel status modes automatically. Set to ON to allow ChanServ to set status modes on you automatically when entering channels. Note that depending on channel settings some modes may not get set automatically.
;SET DISPLAY new-display
:Changes the display used to refer to your nickname group in Services. The new display MUST be a nick of your group.
== <div class="moduleheader">Examples</div> ==
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
</syntaxhighlight></div>
b607d87c6fa1290af7d51058cf192a544483ab66
2.0/Modules/ns set misc
0
95
591
590
2014-05-05T01:21:10Z
Azander
9
Azander moved page [[2.0/Modules/ns set mist]] to [[2.0/Modules/ns set misc]] without leaving a redirect: Misspelled title
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_set_misc}}
{{Syntax|ns_set_misc|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sets various nickname options. option can be one of:
:SET FACEBOOK Associate a Facebook account with your account
:SET ICQ Associate an ICQ account with your account
:SET TWITTER Associate a Twitter account with your account
:SET URL Associate a URL with your account
== <div class="moduleheader">Commands</div> ==
;SET FACEBOOK FacebookID
:Associates the given Facebook Name with your nickname. This ID will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET ICQ ICQ#
:Associates the given ICQ Account with your nickname. This ID Number will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET TWITTER twitter-handle
:Associates the given twitter handle with your nickname. This name will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET URL web-address
:Associates the given Website URL with your nickname. This address will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
== <div class="moduleheader">Examples</div> ==
/msg NickServ SET ICQ 1203314
/msg NickServ SET FACEBOOK FredFlinstoner
/msg NickServ SET TWITTER @FredFlinstoner
/msg NickServ SET URL Http://www.fred-flinstoner.tv
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitteraccount with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
</syntaxhighlight></div>
412ce188912a86c91d78fa73a13c3eac53909ddf
590
588
2014-05-05T01:20:27Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_set_misc}}
{{Syntax|ns_set_misc|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sets various nickname options. option can be one of:
:SET FACEBOOK Associate a Facebook account with your account
:SET ICQ Associate an ICQ account with your account
:SET TWITTER Associate a Twitter account with your account
:SET URL Associate a URL with your account
== <div class="moduleheader">Commands</div> ==
;SET FACEBOOK FacebookID
:Associates the given Facebook Name with your nickname. This ID will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET ICQ ICQ#
:Associates the given ICQ Account with your nickname. This ID Number will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET TWITTER twitter-handle
:Associates the given twitter handle with your nickname. This name will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET URL web-address
:Associates the given Website URL with your nickname. This address will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
== <div class="moduleheader">Examples</div> ==
/msg NickServ SET ICQ 1203314
/msg NickServ SET FACEBOOK FredFlinstoner
/msg NickServ SET TWITTER @FredFlinstoner
/msg NickServ SET URL Http://www.fred-flinstoner.tv
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitteraccount with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
</syntaxhighlight></div>
412ce188912a86c91d78fa73a13c3eac53909ddf
588
2014-05-05T01:16:40Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_confirm}} {{Syntax|ns_confirm|NickServ|Anope}} == <div class="moduleheader">Description</div> == Sets various nickname options. option can be one of..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_confirm}}
{{Syntax|ns_confirm|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Sets various nickname options. option can be one of:
:SET FACEBOOK Associate a Facebook account with your account
:SET ICQ Associate an ICQ account with your account
:SET TWITTER Associate a Twitter account with your account
:SET URL Associate a URL with your account
== <div class="moduleheader">Commands</div> ==
;SET FACEBOOK FacebookID
:Associates the given Facebook Name with your nickname. This ID will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET ICQ ICQ#
:Associates the given ICQ Account with your nickname. This ID Number will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET TWITTER twitter-handle
:Associates the given twitter handle with your nickname. This name will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
;SET URL web-address
:Associates the given Website URL with your nickname. This address will be displayed whenever someone requests information on the nickname with the '''INFO''' command.
== <div class="moduleheader">Examples</div> ==
/msg NickServ SET ICQ 1203314
/msg NickServ SET FACEBOOK FredFlinstoner
/msg NickServ SET TWITTER @FredFlinstoner
/msg NickServ SET URL Http://www.fred-flinstoner.tv
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_set_misc
*
* Provides the command nickserv/set/misc.
*
* Allows you to create arbitrary commands to set data, and have that data show up in nickserv/info.
* A field named misc_description may be given for use with help output.
*/
module { name = "ns_set_misc" }
command { service = "NickServ"; name = "SET URL"; command = "nickserv/set/misc"; misc_description = _("Associate a URL with your account"); }
command { service = "NickServ"; name = "SASET URL"; command = "nickserv/saset/misc"; misc_description = _("Associate a URL with this account"); permission = "nickserv/saset/url"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET ICQ"; command = "nickserv/set/misc"; misc_description = _("Associate an ICQ account with your account"); }
#command { service = "NickServ"; name = "SASET ICQ"; command = "nickserv/saset/misc"; misc_description = _("Associate an ICQ account with this account"); permission = "nickserv/saset/icq"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET TWITTER"; command = "nickserv/set/misc"; misc_description = _("Associate a Twitter account with your account"); }
#command { service = "NickServ"; name = "SASET TWITTER"; command = "nickserv/saset/misc"; misc_description = _("Associate a Twitteraccount with this account"); permission = "nickserv/saset/twitter"; group = "nickserv/admin"; }
#command { service = "NickServ"; name = "SET FACEBOOK"; command = "nickserv/set/misc"; misc_description = _("Associate a Facebook URL with your account"); }
#command { service = "NickServ"; name = "SASET FACEBOOK"; command = "nickserv/saset/misc"; misc_description = _("Associate a Facebook URL with this account"); permission = "nickserv/saset/facebook"; group = "nickserv/admin"; }
</syntaxhighlight></div>
561f6c417d78c4fe3a534dae904a53aef071415a
2.0/Modules/ns status
0
96
603
602
2014-05-05T16:41:03Z
Azander
9
/* Examples */
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_status}}
{{Syntax|ns_status|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command,
status-code is one of the following, and account is the account they are logged in as.
*0 - no such user online or nickname not registered
*1 - user not recognized as nickname's owner
*2 - user recognized as owner via access list only
*3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
== <div class="moduleheader">Commands</div> ==
;STATUS [nickname]
:
== <div class="moduleheader">Examples</div> ==
;/msg NickServ STATUS Fred
:Displays the status of Fred.
;/msg NickServ STATUS
:Displays your status.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
</syntaxhighlight></div>
adf3a2735549a9a798ecfaeee620457cf7e3350f
602
595
2014-05-05T16:40:08Z
Azander
9
/* Commands */
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_status}}
{{Syntax|ns_status|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command,
status-code is one of the following, and account is the account they are logged in as.
*0 - no such user online or nickname not registered
*1 - user not recognized as nickname's owner
*2 - user recognized as owner via access list only
*3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
== <div class="moduleheader">Commands</div> ==
;STATUS [nickname]
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ STATUS Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
</syntaxhighlight></div>
e5669ba751c69cde2fb3d583c3950d70bf900715
595
594
2014-05-05T02:04:23Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_status}}
{{Syntax|ns_status|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command,
status-code is one of the following, and account is the account they are logged in as.
*0 - no such user online or nickname not registered
*1 - user not recognized as nickname's owner
*2 - user recognized as owner via access list only
*3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
== <div class="moduleheader">Commands</div> ==
;status [nickname]
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ STATUS Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
</syntaxhighlight></div>
ab6e77752f37191904f987321f9f98b2247efdc0
594
2014-05-05T01:59:28Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_status}} {{Syntax|ns_status|NickServ|Anope}} == <div class="moduleheader">Description</div> == Returns whether the user using the given nickname is..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_status}}
{{Syntax|ns_status|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command,
status-code is one of the following, and account is the account they are logged in as.
0 - no such user online or nickname not registered
1 - user not recognized as nickname's owner
2 - user recognized as owner via access list only
3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
== <div class="moduleheader">Commands</div> ==
;status [nickname]
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ STATUS Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_status
*
* Provides the nickserv/status command.
*
* Used to determine if a user is recognized or identified by services.
*/
module { name = "ns_status" }
command { service = "NickServ"; name = "STATUS"; command = "nickserv/status"; }
</syntaxhighlight></div>
baaad0b3ca09e170643a72211b3374286822d817
2.0/Modules/ns suspend
0
97
596
2014-05-05T15:39:52Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_suspend}} {{Syntax|ns_suspend|NickServ|Anope}} == <div class="moduleheader">Description</div> == Suspends a registered nickname, which prevents it f..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_suspend}}
{{Syntax|ns_suspend|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Suspends a registered nickname, which prevents it from being used while keeping all the data for that nick. If an expiry is given the nick will be unsuspended after that period of time, else the default expiry from the configuration is used.
'''Access to this command requires the permission nickserv/suspend to be present in your opertype.'''
== <div class="moduleheader">Commands</div> ==
;suspend nickname [+expiry] [reason]
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ SUSPEND Fred +10d Needs a timeout from assisting people.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_suspend
*
* Provides the commands nickserv/suspend and nickserv/unsuspend.
*
* Used to suspend and unsuspend nicknames. Suspended nicknames can not be used but their settings are preserved.
*/
module
{
name = "ns_suspend"
/*
* The length of time before a suspended nick becomes unsuspended.
*
* This directive is optional. If not set, the default is never.
*/
#suspendexpire = 90d
}
command { service = "NickServ"; name = "SUSPEND"; command = "nickserv/suspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
command { service = "NickServ"; name = "UNSUSPEND"; command = "nickserv/unsuspend"; permission = "nickserv/suspend"; group = "nickserv/admin"; }
</syntaxhighlight></div>
bee148a661bacf54124b5342fba066f6a02fde13
2.0/Modules/ns update
0
98
599
2014-05-05T16:19:25Z
Azander
9
Created page with "{{Language|2.0/Modules/ns_update}} {{Syntax|ns_update|NickServ|Anope}} == <div class="moduleheader">Description</div> == Updates your current status, i.e. it checks for new m..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ns_update}}
{{Syntax|ns_update|NickServ|Anope}}
== <div class="moduleheader">Description</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
== <div class="moduleheader">Commands</div> ==
;UPDATE
:
== <div class="moduleheader">Examples</div> ==
/msg NickServ UPDATE
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* ns_update
*
* Provides the command nickserv/update.
*
* Used to update your status on all channels, turn on your vHost, etc.
*/
module { name = "ns_update" }
command { service = "NickServ"; name = "UPDATE"; command = "nickserv/update"; }
</syntaxhighlight></div>
df6d3d7024493919d57988a94833a858791f3744
2.0/Modules/os akill
0
158
760
2014-05-08T19:37:59Z
Azander
9
Created page with "{{Language|2.0/Modules/os_akill}} {{Syntax|os_akill|OperServ|Anope}} == <div class="moduleheader">Description</div> == Allows Services Operators to manipulate the AKILL list...."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_akill}}
{{Syntax|os_akill|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows Services Operators to manipulate the AKILL list. If a user matching an AKILL mask attempts to connect, Services will issue a KILL for that user and, on supported server types, will instruct all servers to add a ban for the mask which the user matched.
'''NOTE''': Access to this command requires the permission operserv/akill to be present in your opertype.
== <div class="moduleheader">Commands</div> ==
;akill ADD [+expiry] mask reason
:adds the given mask to the AKILL list for the given reason, which must be given. Mask should be in the format of nick!user@host#real name, though all that is required is user@host. If a real name is specified, the reason must be prepended with a :. expiry is specified as an integer followed by one of d (days), h (hours), or m (minutes). Combinations (such as 1h30m) are not permitted. If a unit specifier is not included, the default is days (so +30 by itself means 30 days). To add an AKILL which does not expire, use +0. If the usermask to be added starts with a +, an expiry time must be given, even if it is the same as the default. The current AKILL default expiry time can be found with the STATS AKILL command.
;akill DEL {mask | entry-num | list | id}
:removes the given mask from the AKILL list if it is present. If a list of entry numbers is given, those entries are deleted.
;akill LIST [mask | list | id]
: displays the AKILL list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown
;akill VIEW [mask | list | id]
:a more verbose version of AKILL LIST, and will show who added an AKILL, the date it was added, and when it expires, as well as the user@host/ip mask and reason.
;akill CLEAR
:clears all entries of the AKILL list.
== <div class="moduleheader">Examples</div> ==
/msg OperServ AKILL ADD *@*.evil.com Evil is not welcome here.
/msg OperServ AKILL DEL 1
/msg OperServ AKILL LIST
/msg OperServ AKILL VIEW 3
/msg OperServ AKILL CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_akill
*
* Provides the command operserv/akill.
*
* Used to ban users from the network.
*/
module { name = "os_akill" }
command { service = "OperServ"; name = "AKILL"; command = "operserv/akill"; permission = "operserv/akill"; }
</syntaxhighlight></div>
e4528ebe7bd39ac4293ef929d9c09e21015c6cad
2.0/Modules/os chankill
0
159
762
2014-05-08T19:40:56Z
Azander
9
Created page with "{{Language|2.0/Modules/os_chankill}} {{Syntax|os_chankill|OperServ|Anope}} == <div class="moduleheader">Description</div> == Puts an AKILL for every nick on the specified cha..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_chankill}}
{{Syntax|os_chankill|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Puts an AKILL for every nick on the specified channel. It uses the entire real ident@host for every nick, and then enforces the AKILL. '''NOTE''': Access to this command requires the permission operserv/chankill to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;chankill [+expiry] channel reason
== <div class="moduleheader">Examples</div> ==
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_chankill
*
* Provides the command operserv/chankill.
*
* Used to akill users from an entire channel.
*/
module { name = "os_chankill" }
command { service = "OperServ"; name = "CHANKILL"; command = "operserv/chankill"; permission = "operserv/chankill"; }
</syntaxhighlight></div>
b643e556800becbe725ab7ea7c1e6ed37598b76d
2.0/Modules/os config
0
160
764
2014-05-08T19:45:34Z
Azander
9
Created page with "{{Language|2.0/Modules/os_config}} {{Syntax|os_config|OperServ|Anope}} == <div class="moduleheader">Description</div> == Allows you to change and view configuration settings...."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_config}}
{{Syntax|os_config|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows you to change and view configuration settings. Settings changed by this command are temporary and will not be reflected back into the configuration file, and will be lost if Anope is shut down, restarted, or the configuration is reloaded.
'''NOTE''': Access to this command requires the permission operserv/config to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;config {MODIFY|VIEW} [block name item name item value]
== <div class="moduleheader">Examples</div> ==
/msg OperServ CONFIG VIEW
/msg OperServ CONFIG MODIFY nickserv forcemail no
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_config
*
* Provides the command operserv/config.
*
* Used to view and set configuration options while services are running.
*/
module { name = "os_config" }
command { service = "OperServ"; name = "CONFIG"; command = "operserv/config"; permission = "operserv/config"; }
</syntaxhighlight></div>
7ec901cd47782379a172d0bc6c08aef5b1fbe811
2.0/Modules/os defcon
0
161
1169
770
2023-10-08T19:00:24Z
Pegasus
41
/* Description */
wikitext
text/x-wiki
{{Language|2.0/Modules/os_defcon}}
{{Syntax|os_defcon|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
The defcon system can be used to implement a pre-defined set of restrictions to services useful during an attempted attack on the network.
*'''NOTE''': This module is '''disabled''' by default.
== <div class="moduleheader">Commands</div> ==
;defcon [1|2|3|4|5]
== <div class="moduleheader">Examples</div> ==
/msg OperServ DEFCON 5
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
</syntaxhighlight></div>
2f54035b411fa2f231a6581626077de0e28b21b1
770
766
2014-05-08T20:07:21Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/os_defcon}}
{{Syntax|os_defcon|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
The defcon system can be used to implement a pre-defined set of restrictions to services useful during an attempted attack on the network.
*'''NOTE''': This module is '''didabled''' by default.
== <div class="moduleheader">Commands</div> ==
;defcon [1|2|3|4|5]
== <div class="moduleheader">Examples</div> ==
/msg OperServ DEFCON 5
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
</syntaxhighlight></div>
50bd3c686b90c8ac1e8cafa921be7f01aa0d9848
766
2014-05-08T19:49:23Z
Azander
9
Created page with "{{Language|2.0/Modules/os_defcon}} {{Syntax|os_defcon|OperServ|Anope}} == <div class="moduleheader">Description</div> == The defcon system can be used to implement a pre-def..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_defcon}}
{{Syntax|os_defcon|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
The defcon system can be used to implement a pre-defined set of restrictions to services useful during an attempted attack on the network.
'''NOTE''': This module is '''didabled''' by default.
== <div class="moduleheader">Commands</div> ==
;defcon [1|2|3|4|5]
== <div class="moduleheader">Examples</div> ==
/msg OperServ DEFCON 5
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_defcon
*
* Provides the command operserv/defcon.
*
* Allows you to set services in defcon mode, which can be used to restrict services access
* during bot attacks.
*/
#module
{
name = "os_defcon"
/*
* Default DefCon level (1-5) to use when starting Services up. Level 5 constitutes normal operation
* while level 1 constitutes the most restrictive operation. If this setting is left out or set to
* 0, DefCon will be disabled and the rest of this block will be ignored.
*/
#defaultlevel = 5
/*
* The following 4 directives define what operations will take place when DefCon is set to levels
* 1 through 4. Each level is a list that must be separated by spaces.
*
* The following operations can be defined at each level:
* - nonewchannels: Disables registering new channels
* - nonewnicks: Disables registering new nicks
* - nomlockchanges: Disables changing MLOCK on registered channels
* - forcechanmodes: Forces all channels to have the modes given in the later chanmodes directive
* - reducedsessions: Reduces the session limit to the value given in the later sessionlimit directive
* - nonewclients: KILL any new clients trying to connect
* - operonly: Services will ignore all non-IRCops
* - silentoperonly: Services will silently ignore all non-IRCops
* - akillnewclients: AKILL any new clients trying to connect
* - nonewmemos: No new memos will be sent to block MemoServ attacks
*/
level4 = "nonewchannels nonewnicks nomlockchanges reducedsessions"
level3 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions"
level2 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly"
level1 = "nonewchannels nonewnicks nomlockchanges forcechanmodes reducedsessions silentoperonly akillnewclients"
/*
* New session limit to use when a DefCon level is using "reduced" session limiting.
*/
#sessionlimit = 2
/*
* Length of time to add an AKILL for when DefCon is preventing new clients from connecting to the
* network.
*/
#akillexpire = 5m
/*
* The channel modes to set on all channels when the DefCon channel mode system is in use.
*
* Note 1: Choose these modes carefully, because when DefCon switches to a level which does NOT have
* the mode setting selected, Services will set the reverse on all channels, e.g. if this setting
* is +RN when DefCon is used, all channels will be set to +RN, when DefCon is removed, all
* channels will be set to -RN. You don't want to set this to +k for example, because when DefCon
* is removed, all channels are set -k, removing the key from previously keyed channels.
*
* Note 2: MLOCKed modes will not be lost.
*/
#chanmodes = "+R"
/*
* This value can be used to automatically return the network to DefCon level 5 after the specified
* time period, just in case any IRC Operator forgets to remove a DefCon setting.
*
* This directive is optional.
*/
#timeout = 15m
/*
* If set, Services will send a global message on DefCon level changes.
*
* This directive is optional.
*/
#globalondefcon = yes
/*
* If set, Services will send the global message defined in the message directive on DefCon level
* changes.
*
* This directive is optional.
*/
#globalondefconmore = yes
/*
* Defines the message that will be sent on DefCon level changes when globalondefconmore is set.
*
* This directive is required only when globalondefconmore is set.
*/
#message = "Put your message to send your users here. Don't forget to uncomment globalondefconmore"
/*
* Defines the message that will be sent when DefCon is returned to level 5. This directive is optional,
* and will also override globalondefcon and globalondefconmore when set.
*/
#offmessage = "Services are now back to normal, sorry for any inconvenience"
/*
* Defines the reason to use when clients are KILLed or AKILLed from the network while the proper
* DefCon operation is in effect.
*/
#akillreason = "This network is currently not accepting connections, please try again later."
}
#command { service = "OperServ"; name = "DEFCON"; command = "operserv/defcon"; }
</syntaxhighlight></div>
79c2e53faf4f1e491cdae6bdf0cfbc3eb7a8f648
2.0/Modules/os dns
0
162
769
768
2014-05-08T20:07:03Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/os_dns}}
{{Syntax|os_dns|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command allows managing DNS zones used for controlling what servers users are directed to when connecting. Omitting all parameters prints out the status of the DNS zone.
;ADDZONE, DELZONE :adds/removes a zone, eg us.yournetwork.tld. Servers can then be added to this zone with the '''ADDSERVER''' command.
;ADDSERVER, DELSERVER :adds/removes a server to the given zone. When a query is done, the zone in question is served if it exists, else all servers in all zones are served. A server may be in more than one zone.
;ADDIP,DELIP :associates/disassociates an IP with a server.
;POOL, DEPOOL :adds or remove servers to their given zones.
*'''NOTE''': This module is disabled by default.
== <div class="moduleheader">Commands</div> ==
;ADDZONE zone.name
;DELZONE zone.name
;ADDSERVER server.name [zone.name]
;DELSERVER server.name [zone.name]
;ADDIP server.name ip.address
;DELIP server.name ip.address
;SET server.name option value
;POOL server.name
;DEPOOL server.name
== <div class="moduleheader">Examples</div> ==
/msg OperServ DNS ADDZONE fred.com
/msg OperServ DNS ADDSERVER server1.fred.com fred.com
/msg OperServ DNS ADDIP server1.fred.com 192.168.1.2
/msg OperServ DNS POOL server1.fred.com
/msg OperServ DNS SET LIMIT server1.fred.com 200
/msg OperServ DNS
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
</syntaxhighlight></div>
bbae95a482ff8652f5159594d85593fe8c2b9ec1
768
2014-05-08T20:06:40Z
Azander
9
Created page with "{{Language|2.0/Modules/os_dns}} {{Syntax|os_dns|OperServ|Anope}} == <div class="moduleheader">Description</div> == This command allows managing DNS zones used for controlling..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_dns}}
{{Syntax|os_dns|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command allows managing DNS zones used for controlling what servers users are directed to when connecting. Omitting all parameters prints out the status of the DNS zone.
;ADDZONE, DELZONE :adds/removes a zone, eg us.yournetwork.tld. Servers can then be added to this zone with the '''ADDSERVER''' command.
;ADDSERVER, DELSERVER :adds/removes a server to the given zone. When a query is done, the zone in question is served if it exists, else all servers in all zones are served. A server may be in more than one zone.
;ADDIP,DELIP :associates/disassociates an IP with a server.
;POOL, DEPOOL :adds or remove servers to their given zones.
'''NOTE''': This module is disabled by default.
== <div class="moduleheader">Commands</div> ==
;ADDZONE zone.name
;DELZONE zone.name
;ADDSERVER server.name [zone.name]
;DELSERVER server.name [zone.name]
;ADDIP server.name ip.address
;DELIP server.name ip.address
;SET server.name option value
;POOL server.name
;DEPOOL server.name
== <div class="moduleheader">Examples</div> ==
/msg OperServ DNS ADDZONE fred.com
/msg OperServ DNS ADDSERVER server1.fred.com fred.com
/msg OperServ DNS ADDIP server1.fred.com 192.168.1.2
/msg OperServ DNS POOL server1.fred.com
/msg OperServ DNS SET LIMIT server1.fred.com 200
/msg OperServ DNS
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_dns
*
* Provides the command operserv/dns.
*
* This module requires that m_dns is loaded.
*
* This module allows controlling a DNS zone. This is useful for
* controlling what servers users are placed on for load balancing,
* and to automatically remove split servers.
*
* To use this module you must set a nameserver record for services
* so that DNS queries go to services.
*
* Alternatively, you may use a slave DNS server to hide service's IP,
* provide query caching, and provide better fault tolerance.
*
* To do this using BIND, configure similar to:
*
* options { max-refresh-time 60; };
* zone "irc.example.com" IN {
* type slave;
* masters { 127.0.0.1 port 5353; };
* };
*
* Where 127.0.0.1:5353 is the IP and port services are listening on.
* We recommend you externally firewall both UDP and TCP to the port
* Anope is listening on.
*
* Finally set a NS record for irc.example.com. to BIND or services.
*/
#module
{
name = "os_dns"
/* TTL for records. This should be very low if your records change often. */
ttl = 1m
/* If a server drops this many users the server is automatically removed from the DNS zone.
* This directive is optional.
*/
user_drop_mark = 50
/* The time used for user_drop_mark. */
user_drop_time = 1m
/* When a server is removed from the zone for dropping users, it is readded after this time.
* This directive is optional.
*/
user_drop_readd_time = 5m
/* If set, when a server splits, it is automatically removed from the zone. */
remove_split_servers = yes
/* If set, when a server connects to the network, it will be automatically added to
* the zone if it is a known server.
*/
readd_connected_servers = no
}
#command { service = "OperServ"; name = "DNS"; command = "operserv/dns"; permission = "operserv/dns"; }
</syntaxhighlight></div>
a965d2f229d38db8cd0f09e8b6355e9cfc0af804
2.0/Modules/os forbid
0
163
772
2014-05-08T20:18:21Z
Azander
9
Created page with "{{Language|2.0/Modules/os_forbid}} {{Syntax|os_forbid|OperServ|Anope}} == <div class="moduleheader">Description</div> == Forbid allows you to forbid usage of certain nickname..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_forbid}}
{{Syntax|os_forbid|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Forbid allows you to forbid usage of certain nicknames, channels, and email addresses. Wildcards are accepted for all entries.
'''NOTE''': Access to this command requires the permission operserv/forbid to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;forbid ADD {NICK|CHAN|EMAIL|REGISTER} [+expiry] entry reason
;forbid DEL {NICK|CHAN|EMAIL|REGISTER} entry
;forbid LIST [NICK|CHAN|EMAIL|REGISTER]
== <div class="moduleheader">Examples</div> ==
/msg OperServ FORBID LIST
/msg OperServ FORBID ADD NICK IRCOP Prohibited because of confusion.
/msg OperServ FORBID DEL CHAN #Weed
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_forbid
*
* Provides the command operserv/forbid.
*
* Used to forbid specific nicks, channels, emails, etc. from being used.
*/
module { name = "os_forbid" }
command { service = "OperServ"; name = "FORBID"; command = "operserv/forbid"; permission = "operserv/forbid"; }
</syntaxhighlight></div>
65b00fd6d0503226e3bd618afddc4b198a5fb52f
2.0/Modules/os ignore
0
164
774
2014-05-08T20:23:54Z
Azander
9
Created page with "{{Language|2.0/Modules/os_ignore}} {{Syntax|os_ignore|OperServ|Anope}} == <div class="moduleheader">Description</div> == Allows Services Operators to make Services ignore a n..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_ignore}}
{{Syntax|os_ignore|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows Services Operators to make Services ignore a nick or mask for a certain time or until the next restart. The default time format is seconds. You can specify it by using units. Valid units are: s for seconds, m for minutes, h for hours and d for days. Combinations of these units are not permitted. To make Services permanently ignore the user, type 0 as time. When adding a mask, it should be in the format nick!user@host, everything else will be considered a nick. Wildcards are permitted.
Ignores will not be enforced on IRC Operators.
'''NOTE''': Access to this command requires the permission operserv/ignore to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;ignore ADD expiry {nick|mask} [reason]
;ignore DEL {nick|mask}
;ignore LIST
;ignore CLEAR
== <div class="moduleheader">Examples</div> ==
/msg OperServ IGNORE ADD 365d Fred Abusing services. Blocked for 1 year.
/msg OperServ IGNORE DEL Fred
/msg OperServ IGNORE LIST
/msg OperServ IGNORE CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_ignore
*
* Provides the command operserv/ignore.
*
* Used to make Services ignore users.
*/
module { name = "os_ignore" }
command { service = "OperServ"; name = "IGNORE"; command = "operserv/ignore"; permission = "operserv/ignore"; }
</syntaxhighlight></div>
a1a20737067c67b1fcba67cd9e7b420528945554
2.0/Modules/os info
0
165
776
2014-05-08T20:30:38Z
Azander
9
Created page with "{{Language|2.0/Modules/os_info}} {{Syntax|os_info|OperServ|Anope}} == <div class="moduleheader">Description</div> == Add or delete oper information for a given nick or channe..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_info}}
{{Syntax|os_info|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Add or delete oper information for a given nick or channel. This will show to opers in the respective info command for the nick or channel.
'''NOTE''': Access to this command requires the permission operserv/info to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;info ADD target info
;info DEL target info
;info CLEAR target
== <div class="moduleheader">Examples</div> ==
/msg OperServ INFO ADD Fred Watch him. He has been trouble in the past.
/msg OperServ INFO DEL #myChannel Watch them. They have been trouble in the past.
/msg OperServ CLEAR Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_info
*
* Provides the command operserv/info.
*
* Used to add oper only notes to users and channels.
*/
module { name = "os_info" }
command { service = "OperServ"; name = "INFO"; command = "operserv/info"; permission = "operserv/info"; }
</syntaxhighlight></div>
2800d14054666db68b06f1ccb89dd9e2daedc6c4
2.0/Modules/os jupe
0
166
777
2014-05-08T20:33:31Z
Azander
9
Created page with "{{Language|2.0/Modules/os_jupe}} {{Syntax|os_jupe|OperServ|Anope}} == <div class="moduleheader">Description</div> == Tells Services to jupiter a server -- that is, to create ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_jupe}}
{{Syntax|os_jupe|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Tells Services to jupiter a server -- that is, to create a fake "server" connected to Services which prevents the real server of that name from connecting. The jupe may be removed using a standard SQUIT. If a reason is given, it is placed in the server information field; otherwise, the server information field will contain the text "Juped by <nick>", showing the nickname of the person who jupitered the server.
'''NOTE''':Access to this command requires the permission operserv/jupe to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;jupe server [reason]
== <div class="moduleheader">Examples</div> ==
/msg OperServ JUPE server1.fred.com Keeps dropping out. Remove when it is deemed stable again.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_jupe
*
* Provides the command operserv/jupe.
*
* Used to disconnect servers from the network and prevent them from relinking.
*/
module { name = "os_jupe" }
command { service = "OperServ"; name = "JUPE"; command = "operserv/jupe"; permission = "operserv/jupe"; }
</syntaxhighlight></div>
1e7e9e08fdd2299a3ef019ff507ce57f2ee932cb
2.0/Modules/os kick
0
167
781
2014-05-08T20:43:48Z
Azander
9
Created page with "{{Language|2.0/Modules/os_kill}} {{Syntax|os_kick|OperServ|Anope}} == <div class="moduleheader">Description</div> == Allows staff to kick a user from any channel. Parameters ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_kill}}
{{Syntax|os_kick|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows staff to kick a user from any channel. Parameters are the same as for the standard /KICK command. The kick message will have the nickname of theIRCop sending the KICK command prepended; for example:
*** SpamMan has been kicked off channel #my_channel by OperServ (Alcan (Flood))
'''NOTE''': Access to this command requires the permission operserv/kick to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;kick channel user reason
== <div class="moduleheader">Examples</div> ==
/msg OperServ KICK #myChannel Fred Go away.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_kick
*
* Provides the command operserv/kick.
*
* Used to kick users from channels.
*/
module { name = "os_kick" }
command { service = "OperServ"; name = "KICK"; command = "operserv/kick"; permission = "operserv/kick"; }
</syntaxhighlight></div>
cd1c05961d8004dde3d5872fc77ca21156c314cb
2.0/Modules/os kill
0
168
783
2014-05-08T20:52:51Z
Azander
9
Created page with "{{Language|2.0/Modules/os_kill}} {{Syntax|os_kill|OperServ|Anope}} == <div class="moduleheader">Description</div> == Allows you to kill a user from the network. Parameters ar..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_kill}}
{{Syntax|os_kill|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows you to kill a user from the network. Parameters are the same as for the standard /KILL command.
'''NOTE''': Access to this command requires the permission operserv/kill to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;kill '''<ins>user</ins>''' ['''<ins>reason</ins>''']
== <div class="moduleheader">Examples</div> ==
/msg OperServ KILL Fred This is your last warning. Do not come back.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_kill
*
* Provides the command operserv/kill.
*
* Used to forcibly disconnect users from the network.
*/
module { name = "os_kill" }
command { service = "OperServ"; name = "KILL"; command = "operserv/kill"; permission = "operserv/kill"; }
</syntaxhighlight></div>
fdb011bc346e6fbbce84958d86b366dae6f2a9c4
2.0/Modules/os list
0
169
785
2014-05-08T21:12:34Z
Azander
9
Created page with "{{Language|2.0/Modules/os_list}} {{Syntax|os_list|OperServ|Anope}} == <div class="moduleheader">Description</div> == ;CHANLIST :Lists all channels currently in use on the IRC..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_list}}
{{Syntax|os_list|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
;CHANLIST :Lists all channels currently in use on the IRC network, whether they are registered or not.
:If pattern is given, lists only channels that match it. If a nickname is given, lists only the channels the user using it is on. If SECRET is specified, lists only channels matching pattern that have the +s or +p mode.
:* '''NOTE''': Access to this command requires the permission operserv/chanlist to be present in your ''opertype''.
;USERLIST :Lists all users currently online on the IRC network, whether their nick is registered or not.
:If pattern is given, lists only users that match it (it must be in the format nick!user@host). If channel is given, lists only users that are on the given channel. If INVISIBLE is specified, only users with the +i flag will be listed.
:* '''NOTE''':Access to this command requires the permission operserv/userlist to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;chanlist [{pattern | nick} [SECRET]]
;userlist [{pattern | channel} [INVISIBLE]]
== <div class="moduleheader">Examples</div> ==
/msg OperServ CHANLIST #my*
/msg OperServ USERLIST *@*.fred.com
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_list
*
* Provides the commands operserv/chanlist and operserv/userlist.
*
* Used to list and search the channels and users currently on the network.
*/
module { name = "os_list" }
command { service = "OperServ"; name = "CHANLIST"; command = "operserv/chanlist"; permission = "operserv/chanlist"; }
command { service = "OperServ"; name = "USERLIST"; command = "operserv/userlist"; permission = "operserv/userlist"; }
</syntaxhighlight></div>
b9507de723cd9ca46510cf902261a7102d51e545
2.0/Modules/os login
0
170
787
2014-05-08T21:15:59Z
Azander
9
Created page with "{{Language|2.0/Modules/os_login}} {{Syntax|os_login|OperServ|Anope}} == <div class="moduleheader">Description</div> == ;LOGIN :Logs you in to OperServ so you gain Services Op..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_login}}
{{Syntax|os_login|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
;LOGIN :Logs you in to OperServ so you gain Services Operator privileges. This command may be unnecessary if your oper block is configured without a password.
;LOGOUT :Logs you out from OperServ so you lose Services Operator privileges. This command is only useful if your oper block is configured with a password.
== <div class="moduleheader">Commands</div> ==
;login password
;logout
== <div class="moduleheader">Examples</div> ==
/msg OperServ LOGIN mysecretpassword
/msg OperServ LOGOUT
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_login
*
* Provides the commands operserv/login and operserv/logout.
*
* Used to login to OperServ, only required if your oper block requires this.
*/
module { name = "os_login" }
command { service = "OperServ"; name = "LOGIN"; command = "operserv/login"; }
command { service = "OperServ"; name = "LOGOUT"; command = "operserv/logout"; }
</syntaxhighlight></div>
bf9084c4f084816b507db9c0af0a9d8dc7ca7d08
2.0/Modules/os logsearch
0
171
789
2014-05-08T21:20:14Z
Azander
9
Created page with "{{Language|2.0/Modules/os_logsearch}} {{Syntax|os_logsearch|OperServ|Anope}} == <div class="moduleheader">Description</div> == This command searches the Services logfiles for..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_logsearch}}
{{Syntax|os_logsearch|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
This command searches the Services logfiles for messages that match the given pattern. The day and limit argument may be used to specify how many days of logs to search and the number of replies to limit to. By default this command searches one week of logs, and limits replies to 50.
== <div class="moduleheader">Commands</div> ==
;logsearch [+daysd] [+limitl] pattern
== <div class="moduleheader">Examples</div> ==
/msg OperServ LOGSEARCH +1d +25l Fred
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_logsearch
*
* Provides the command operserv/logsearch.
*
* Used to search services log files.
*/
module
{
name = "os_logsearch"
/* The log file name to search. There should be a log{} block configured to log
* to a file of this name.
*/
logname = "services.log"
}
command { service = "OperServ"; name = "LOGSEARCH"; command = "operserv/logsearch"; permission = "operserv/logsearch"; }
</syntaxhighlight></div>
511a91edd911d8b4d647e02d25e11c34cde33139
2.0/Modules/os mode
0
172
792
2014-05-08T21:26:46Z
Azander
9
Created page with "{{Language|2.0/Modules/os_mode}} {{Syntax|os_mode|OperServ|Anope}} == <div class="moduleheader">Description</div> == Allows Services Operators to change modes for any channel..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_mode}}
{{Syntax|os_mode|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows Services Operators to change modes for any channel. Parameters are the same as for the standard /MODE command. Alternatively, CLEAR may be given to clear all modes on the channel. If CLEAR ALL is given then all modes, including user status, is removed.
;*'''NOTE''':Access to this command requires the permission operserv/mode to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;mode channel modes
;mode channel CLEAR [ALL]
== <div class="moduleheader">Examples</div> ==
/msg OperServ MODE #myChannel -mi+s
/msg OperServ MODE #myChannel CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_mode
*
* Provides the commands operserv/mode and operserv/umode.
*
* Used to change user and channel modes.
*/
module { name = "os_mode" }
command { service = "OperServ"; name = "UMODE"; command = "operserv/umode"; permission = "operserv/umode"; }
command { service = "OperServ"; name = "MODE"; command = "operserv/mode"; permission = "operserv/mode"; }
</syntaxhighlight></div>
f9b06128b7f037d067fc19470645fcff06e4b49f
2.0/Modules/os modinfo
0
173
794
2014-05-08T21:32:01Z
Azander
9
Created page with "{{Language|2.0/Modules/os_modinfo}} {{Syntax|os_modinfo|OperServ|Anope}} == <div class="moduleheader">Description</div> == ;MODINFO :This command lists information about the ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_modinfo}}
{{Syntax|os_modinfo|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
;MODINFO :This command lists information about the specified loaded module.
;MODLIST :Lists currently loaded modules.
*'''NOTE''': Access to this command requires the permission operserv/modinfo to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;modinfo modname
;modlist [all|third|vendor|extra|database|encryption|pseudoclient|protocol]
== <div class="moduleheader">Examples</div> ==
/msg OperServ MODINFO m_dns
/msg OperServ MODLIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_modinfo
*
* Provides the commands operserv/modinfo and operserv/modlist.
*
* Used to show information about loaded modules.
*/
module { name = "os_modinfo" }
command { service = "OperServ"; name = "MODINFO"; command = "operserv/modinfo"; permission = "operserv/modinfo"; }
command { service = "OperServ"; name = "MODLIST"; command = "operserv/modlist"; permission = "operserv/modinfo"; }
</syntaxhighlight></div>
2bafa9223c7ab3307921ffa120e5b067761378d6
2.0/Modules/os module
0
174
796
2014-05-08T21:40:26Z
Azander
9
Created page with "{{Language|2.0/Modules/os_module}} {{Syntax|os_module|OperServ|Anope}} == <div class="moduleheader">Description</div> == ;MODLOAD :This command loads the module named modname..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_module}}
{{Syntax|os_module|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
;MODLOAD :This command loads the module named modname from the modules directory.
;MODRELOAD :This command reloads the module named modname.
;MODUNLOAD :This command unloads the module named modname.
*'''NOTE''': Access to these commands require the permission operserv/modload to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;modload modname
;modreload modname
;modunload modname
== <div class="moduleheader">Examples</div> ==
/msg OperServ MODLOAD m_dns
/msg OperServ MODRELOAD m_dns
/msg OperServ MODUNLOAD m_dns
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_module
*
* Provides the commands operserv/modload, operserv/modreload, and operserv/modunload.
*
* Used to load, reload, and unload modules.
*/
module { name = "os_module" }
command { service = "OperServ"; name = "MODLOAD"; command = "operserv/modload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODRELOAD"; command = "operserv/modreload"; permission = "operserv/modload"; }
command { service = "OperServ"; name = "MODUNLOAD"; command = "operserv/modunload"; permission = "operserv/modload"; }
</syntaxhighlight></div>
b64bdc163ee5cc0c68a734a533b50dc9db9f18a9
2.0/Modules/os news
0
175
798
2014-05-08T22:00:35Z
Azander
9
Created page with "{{Language|2.0/Modules/os_news}} {{Syntax|os_news|OperServ|Anope}} == <div class="moduleheader">Description</div> == ;LOGONNEWS :Edits or displays the list of logon news mess..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_news}}
{{Syntax|os_news|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
;LOGONNEWS :Edits or displays the list of logon news messages. When a user connects to the network, these messages will be sent to them. However, no more than 3 messages will be sent in order to avoid flooding the user. If there are more news messages, only the most recent will be sent.
;OPERNEWS :Edits or displays the list of oper news messages. When a user opers up (with the /OPER command), these messages will be sent to them. However, no more than 3 messages will be sent in order to avoid flooding the user. If there are more news messages, only the most recent will be sent.
;RANDOMNEWS :Edits or displays the list of random news messages. When a user connects to the network, one (and only one) of the random news will be randomly chosen and sent to them.
*'''NOTE''': Access to these commands require the permission operserv/news to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;logonnews ADD text
;logonnews DEL {num | ALL}
;logonnews LIST
;opernews ADD text
;opernews DEL {num | ALL}
;opernews LIST
;randomnews ADD text
;randomnews DEL {num | ALL}
;randomnews LIST
== <div class="moduleheader">Examples</div> ==
/msg OperServ LOGONNEWS ADD We have upgraded services. Your previous registrations have been preserved. Please note that chanserv has changed a lot, you should check it out.
/msg OperServ OPERNEWS DEL 3
/msg OperServ RANDOMNEWS LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_news
*
* Provides the commands operserv/logonnews, operserv/opernews, and operserv/randomnews.
*
* Used to configure news notices shown to users when they connect, and opers when they oper.
*/
module
{
name = "os_news"
/*
* The service bot names to use to send news to users on connection
* and to opers when they oper.
*/
announcer = "Global"
oper_announcer = "OperServ"
/*
* The number of LOGON/OPER news items to display when a user logs on.
*
* This directive is optional, if not set it will default to 3.
*/
#newscount = 3
}
command { service = "OperServ"; name = "LOGONNEWS"; command = "operserv/logonnews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "OPERNEWS"; command = "operserv/opernews"; permission = "operserv/news"; }
command { service = "OperServ"; name = "RANDOMNEWS"; command = "operserv/randomnews"; permission = "operserv/news"; }
</syntaxhighlight></div>
49176e8687fb41717845c82be846619d0bfbd944
2.0/Modules/os noop
0
176
800
2014-05-08T22:21:31Z
Azander
9
Created page with "{{Language|2.0/Modules/os_noop}} {{Syntax|os_noop|OperServ|Anope}} == <div class="moduleheader">Description</div> == SET kills all operators from the given server and prevent..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_noop}}
{{Syntax|os_noop|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
SET kills all operators from the given server and prevents operators from opering up on the given server. REVOKE removes this restriction.
== <div class="moduleheader">Commands</div> ==
;noop SET server
;noop REVOKE server
== <div class="moduleheader">Examples</div> ==
/msg OperServ NOOP SET server1.example.net
/msg OperServ NOOP REVOKE server1.example.net
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_noop
*
* Provides the command operserv/noop.
*
* Used to NOOP a server, which prevents users from opering on that server.
*/
module { name = "os_noop" }
command { service = "OperServ"; name = "NOOP"; command = "operserv/noop"; permission = "operserv/noop"; }
</syntaxhighlight></div>
efe387b4db234c7d3e2b1055daef8db82e0b2592
2.0/Modules/os oline
0
177
803
2014-05-08T22:26:55Z
Azander
9
Created page with "{{Language|2.0/Modules/os_oline}} {{Syntax|os_oline|OperServ|Anope}} == <div class="moduleheader">Description</div> == Allows Services Operators to give Operflags to any user..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_oline}}
{{Syntax|os_oline|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows Services Operators to give Operflags to any user. Flags have to be prefixed with a "+" or a "-". To remove all flags simply type a "-" instead of any flags.
*'''NOTE''': Access to this command requires the permission operserv/oline to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;oline nick glags
== <div class="moduleheader">Examples</div> ==
/msg OperServ OLINE Fred +kKbB
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_oline
*
* Provides the command operserv/oline.
*
* Used to set oper flags on users, and is specific to UnrealIRCd.
* See /helpop ?svso on your IRCd for more information.
*/
module { name = "os_oline" }
command { service = "OperServ"; name = "OLINE"; command = "operserv/oline"; permission = "operserv/oline"; }
</syntaxhighlight></div>
6794135692e497692d612ea84ee6e15a34cd5570
2.0/Modules/os oper
0
178
1146
805
2019-10-29T03:11:17Z
Jobe
32
wikitext
text/x-wiki
{{Language|2.0/Modules/os_oper}}
{{Syntax|os_oper|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows you to change and view Services Operators. Note that operators removed by this command but are still set in the configuration file are not permanently affected by this.
*'''NOTE''': Access to this command requires the permission operserv/oper to be present in your opertype.
== <div class="moduleheader">Commands</div> ==
;oper ADD oper type
;oper DEL oper
;oper INFO type
;oper LIST
== <div class="moduleheader">Examples</div> ==
/msg OperServ OPER ADD Fred Services Administrator
/msg OperServ OPER DEL Fredd
/msg OperServ OPER INTO Services Root
/msg OperServ OPER LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
</syntaxhighlight></div>
48d7cbceb91aba1a5555bb985aff00494750e581
805
2014-05-08T22:32:24Z
Azander
9
Created page with "{{Language|2.0/Modules/os_oper}} {{Syntax|os_oper|OperServ|Anope}} == <div class="moduleheader">Description</div> == Allows you to change and view Services Operators. Note th..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_oper}}
{{Syntax|os_oper|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows you to change and view Services Operators. Note that operators removed by this command but are still set in the configuration file are not permanently affected by this.
*'''NOTE''': Access to this command requires the permission operserv/oper to be present in your opertype.
== <div class="moduleheader">Commands</div> ==
;oper ADD oper type
;oper DEL oper
;oper INFO type
;oper LIST
== <div class="moduleheader">Examples</div> ==
/msg OperServ OPER ADD Fred Services Administrator
/msg OperServ OPER DEL Fredd
/msg OperServ OPER INTO Services Root
/msg OperServer OPER LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_oper
*
* Provides the command operserv/oper.
*
* Used to configure opers and show information about opertypes.
*/
module { name = "os_oper" }
command { service = "OperServ"; name = "OPER"; command = "operserv/oper"; permission = "operserv/oper"; }
</syntaxhighlight></div>
f729f9fc4b36e0eaf7273445d5fa76319a2d8d7e
2.0/Modules/os reload
0
179
806
2014-05-08T22:34:13Z
Azander
9
Created page with "{{Language|2.0/Modules/os_reload}} {{Syntax|os_reload|OperServ|Anope}} == <div class="moduleheader">Description</div> == Causes Services to reload the configuration file. Not..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_reload}}
{{Syntax|os_reload|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Causes Services to reload the configuration file. Note that some directives still need the restart of the Services to take effect (such as Services' nicknames, activation of the session limitation, etc.).
*'''NOTE''': Access to this command requires the permission operserv/reload to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;reload
== <div class="moduleheader">Examples</div> ==
/msg OperServ RELOAD
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_reload
*
* Provides the command operserv/reload.
*
* Used to reload the services.conf configuration file.
*/
module { name = "os_reload" }
command { service = "OperServ"; name = "RELOAD"; command = "operserv/reload"; permission = "operserv/reload"; }
</syntaxhighlight></div>
5da446326575d8dd4a3d9966fc9ae26e9e8a17b1
2.0/Modules/os session
0
180
809
2014-05-08T22:39:02Z
Azander
9
Created page with "{{Language|2.0/Modules/os_session}} {{Syntax|os_session|OperServ|Anope}} == <div class="moduleheader">Description</div> == Allows Services Operators to view the session list...."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_session}}
{{Syntax|os_session|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Allows Services Operators to view the session list.
;SESSION LIST :lists hosts with at least threshold sessions. The threshold must be a number greater than 1. This is to prevent accidental listing of the large
number of single session hosts.
;SESSION VIEW :displays detailed information about a specific host - including the current session count and session limit. The host value may not include wildcards.
See the EXCEPTION help for more information about session limiting and how to set session limits specific to certain hosts and groups thereof.
*'''NOTE''': Access to this command requires the permission operserv/session to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;session LIST threshold
;session VIEW host
== <div class="moduleheader">Examples</div> ==
/msg OperServ SESSION LIST 2
/msg OperServ SESSION VIEW localhost
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_session
*
* Provides the commands operserv/exception and operserv/session.
*
* This module enables session limiting. Session limiting prevents users from connecting more than a certain
* number of times from the same IP at the same time - thus preventing most types of cloning.
* Once a host reaches it's session limit, all clients attempting to connect from that host will
* be killed. Exceptions to the default session limit can be defined via the exception list.
*
* Used to manage the session limit exception list, and view currently active sessions.
*/
module
{
name = "os_session"
/*
* Default session limit per host. Once a host reaches its session limit, all clients attempting
* to connect from that host will be killed.
*
* This directive is required if os_session is loaded.
*/
defaultsessionlimit = 3
/*
* The maximum session limit that may be set for a host in an exception.
*
* This directive is required if os_session is loaded.
*/
maxsessionlimit = 100
/*
* Sets the default expiry time for session exceptions.
*
* This directive is required if os_session is loaded.
*/
exceptionexpiry = 1d
/*
* The message that will be NOTICE'd to a user just before they are removed from the network because
* their host's session limit has been exceeded. It may be used to give a slightly more descriptive
* reason for the impending kill as opposed to simply "Session limit exceeded".
*
* This directive is optional, if not set, nothing will be sent.
*/
sessionlimitexceeded = "The session limit for your IP %IP% has been exceeded."
/*
* Same as above, but should be used to provide a website address where users can find out more
* about session limits and how to go about applying for an exception.
*
* Note: This directive has been intentionally commented out in an effort to remind you to change
* the URL it contains. It is recommended that you supply an address/URL where people can get help
* regarding session limits.
*
* This directive is optional, if not set, nothing will be sent.
*/
#sessionlimitdetailsloc = "Please visit http://your.website.url/ for more information about session limits."
/*
* If set and is not 0, this directive tells Services to add an AKILL if the number of subsequent kills
* for the same host exceeds this value, preventing the network from experiencing KILL floods.
*
* This directive is optional.
*/
maxsessionkill = 15
/*
* Sets the expiry time for AKILLs set for hosts exceeding the maxsessionkill directive limit.
*
* This directive is optional, if not set, defaults to 30 minutes.
*/
sessionautokillexpiry = 30m
/*
* Sets the CIDR value used to determine which IP addresses represent the same person.
* By default this would limit 3 connections per IPv4 IP and 3 connections per IPv6 IP.
* If you are receiving IPv6 clone attacks it may be useful to set session_ipv6_cidr to
* 64 or 48.
*/
session_ipv4_cidr = 32
session_ipv6_cidr = 128
}
command { service = "OperServ"; name = "EXCEPTION"; command = "operserv/exception"; permission = "operserv/exception"; }
command { service = "OperServ"; name = "SESSION"; command = "operserv/session"; permission = "operserv/session"; }
</syntaxhighlight></div>
adbc80271974a7c8ccac29ec695a75d94c94cc90
2.0/Modules/os set
0
181
810
2014-05-08T22:47:05Z
Azander
9
Created page with "{{Language|2.0/Modules/os_set}} {{Syntax|os_set|OperServ|Anope}} == <div class="moduleheader">Description</div> == Syntax: set option setting Sets various global Services op..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_set}}
{{Syntax|os_set|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Syntax: set option setting
Sets various global Services options. Option names currently defined are:
:;READONLY :Set read-only or read-write mode
:;DEBUG :Activate or deactivate debug mode
:;NOEXPIRE :Activate or deactivate no expire mode
:;SUPERADMIN :Activate or deactivate super admin mode
:;LIST :List the options
*'''NOTE''': Access to this command requires the permission operserv/set to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;SET READONLY {on|off}
:Sets read-only mode on or off. In read-only mode, normal users will not be allowed to modify any Services data, including channel and nickname access lists, etc. IRCops with sufficient Services privileges will be able to modify Services' AKILL, SQLINE, SNLINE and ignore lists, drop, suspend or forbid nicknames and channels, and manage news, oper info and DNS, but any such changes will not be saved unless read-only mode is deactivated before Services are terminated or restarted.
:
:This option is equivalent to the command-line option
::--readonly.
;SET DEBUG {on|off}
:Sets debug mode on or off.
:
:This option is equivalent to the command-line option
::--debug.
;SET NOEXPIRE {on|off}
:Sets no expire mode on or off. In no expire mode, nicks, channels, akills and exceptions won't expire until the option is unset.
:
:This option is equivalent to the command-line option
::--noexpire.
;SET SUPERADMIN {on|off}
:Setting this will grant you extra privileges such as the ability to be "founder" on all channel's etc... This option is not persistent, and should only be used when needed, and set back to OFF when no longer needed.
;SET LIST
:Display the various OperServ settings.
== <div class="moduleheader">Examples</div> ==
/msg OperServ SET READONLY Off
/msg OperServ SET NOEXPIRE off
/msg OperServ SET LIST
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_set
*
* Provides the command operserv/set.
*
* Used to set various settings such as superadmin, debug mode, etc.
*/
module
{
name = "os_set"
/*
* If set, Services Admins will be able to use SUPERADMIN [ON|OFF] which will temporarily grant
* them extra privileges such as being a founder on ALL channels.
*
* This directive is optional.
*/
#superadmin = yes
}
command { service = "OperServ"; name = "SET"; command = "operserv/set"; permission = "operserv/set"; }
</syntaxhighlight></div>
0ba221fbcdd687cdfac69ac9075c8589189cc4b5
2.0/Modules/os shutdown
0
182
814
2014-05-09T13:56:17Z
Azander
9
Created page with "{{Language|2.0/Modules/os_shutdown}} {{Syntax|os_shutdown|OperServ|Anope}} == <div class="moduleheader">Description</div> == ;SHUTDOWN :Causes Services to save all databases ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_shutdown}}
{{Syntax|os_shutdown|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
;SHUTDOWN :Causes Services to save all databases and then shut down.
;RESTART :Causes Services to save all databases and then restart (i.e. exit and immediately re-run the executable).
;QUIT :Causes Services to do an immediate shutdown; databases are not saved. This command should not be used unless damage to the in-memory copies of the databases is feared and they should not be saved.
*'''NOTE''': Access to these commands require the permission operserv/shutdown to be present in your ''opertype'.
== <div class="moduleheader">Commands</div> ==
;shutdown
;restart
;quit
== <div class="moduleheader">Examples</div> ==
/msg OperServ SHUTDOWN
/msg OperServ RESTART
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_shutdown
*
* Provides the commands operserv/quit, operserv/restart, and operserv/shutdown.
*
* Used to quit, restart, or shutdown services.
*/
module { name = "os_shutdown" }
command { service = "OperServ"; name = "QUIT"; command = "operserv/quit"; permission = "operserv/quit"; }
command { service = "OperServ"; name = "RESTART"; command = "operserv/restart"; permission = "operserv/restart"; }
command { service = "OperServ"; name = "SHUTDOWN"; command = "operserv/shutdown"; permission = "operserv/shutdown"; }
</syntaxhighlight></div>
71ddf928193128737cbd16fc16c44c348e9ee2eb
2.0/Modules/os stats
0
183
816
2014-05-09T14:00:16Z
Azander
9
Created page with "{{Language|2.0/Modules/os_stats}} {{Syntax|os_stats|OperServ|Anope}} == <div class="moduleheader">Description</div> == Without any option, shows the current number of users o..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_stats}}
{{Syntax|os_stats|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Without any option, shows the current number of users online, and the highest number of users online since Services was started, and the length of time Services has been running.
With the AKILL option, displays the current size of the AKILL list and the current default expiry time.
The RESET option currently resets the maximum user count to the number of users currently present on the network.
The UPLINK option displays information about the current server Anope uses as an uplink to the network.
The HASH option displays information about the hash maps.
The ALL option displays all of the above statistics.
*'''NOTE''': Access to this command requires the permission operserv/stats to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;stats [AKILL | HASH | UPLINK | UPTIME | ALL | RESET]
== <div class="moduleheader">Examples</div> ==
/msg OperServ STATS ALL
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_stats
*
* Provides the operserv/stats command.
*
* Used to show statistics about services.
*/
module { name = "os_stats" }
command { service = "OperServ"; name = "STATS"; command = "operserv/stats"; permission = "operserv/stats"; }
</syntaxhighlight></div>
d00f0892361a53109c82ee41f9128d3656109dd2
2.0/Modules/os svs
0
184
818
2014-05-09T14:08:19Z
Azander
9
Created page with "{{Language|2.0/Modules/os_svs}} {{Syntax|os_svs|OperServ|Anope}} == <div class="moduleheader">Description</div> == ;SVSNICK :Forcefully changes a user's nickname from nick to..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_svs}}
{{Syntax|os_svs|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
;SVSNICK :Forcefully changes a user's nickname from nick to newnick.
;SVSJOIN :Forcefully join a user to a channel.
'SVSPART :Forcefully part a user from a channel.
*'''NOTE''': Access to these commands require the permission operserv/svs to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;SVSNICK nick newnick
;SVSJOIN nick channel
;SVSPART nick channel
== <div class="moduleheader">Examples</div> ==
/msg OperServ SVSNICK Fred Phred
/msg OperServ SVSJOIN Fred #help
/msg OperServ SVSPART Fred #help
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_svs
*
* Provides the commands operserv/svsnick, operserv/svsjoin, and operserv/svspart.
*
* Used to force users to change nicks, join and part channels.
*/
module { name = "os_svs" }
command { service = "OperServ"; name = "SVSNICK"; command = "operserv/svsnick"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSJOIN"; command = "operserv/svsjoin"; permission = "operserv/svs"; }
command { service = "OperServ"; name = "SVSPART"; command = "operserv/svspart"; permission = "operserv/svs"; }
</syntaxhighlight></div>
74c88d0b6e00f9e1dbca95b65b679e45704e96ac
2.0/Modules/os sxline
0
185
819
2014-05-09T14:24:11Z
Azander
9
Created page with "{{Language|2.0/Modules/os_sxline}} {{Syntax|os_sxline|OperServ|Anope}} == <div class="moduleheader">Description</div> == ;SNLINE :Allows Services Operators to manipulate the ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_sxline}}
{{Syntax|os_sxline|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
;SNLINE :Allows Services Operators to manipulate the SNLINE list. If a user with a realname matching an SNLINE mask attempts to connect, Services will not allow it to pursue his IRC session.
:;ADD :adds the given realname mask to the SNLINE list for the given reason (which must be given). expiry is specified as an integer followed by one of d (days), h (hours), or m (minutes). Combinations (such as 1h30m) are not permitted. If a unit specifier is not included, the default is days (so +30 by itself means 30 days). To add an SNLINE which does not expire, use +0. If the realname mask to be added starts with a +, an expiry time must be given, even if it is the same as the default. The current SNLINE default expiry time can be found with the STATS AKILL command.
::'''Note''': because the realname mask may contain spaces, the separator between it and the reason is a colon.
:;DEL :removes the given mask from the SNLINE list if it is present. If a list of entry numbers is given, those entries are deleted.
:;LIST :displays the SNLINE list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown.
:;VIEW :a more verbose version of SNLINE LIST, and will show who added an SNLINE, the date it was added, and when it expires, as well as the realname mask and reason.
:;CLEAR :clears all entries of the SNLINE list.
;SQLINE :Allows Services Operators to manipulate the SQLINE list. If a user with a nick matching an SQLINE mask attempts to connect, Services will not allow it to pursue his IRC session. If the first character of the mask is #, services will prevent the use of matching channels.
:;ADD :adds the given (nick's) mask to the SQLINE list for the given reason (which must be given). expiry is specified as an integer followed by one of d (days), h (hours), or m (minutes). Combinations (such as 1h30m) are not permitted. If a unit specifier is not included, the default is days (so +30 by itself means 30 days). To add an SQLINE which does not expire, use +0. If the mask to be added starts with a +, an expiry time must be given, even if it is the same as the default. The current SQLINE default expiry time can be found with the STATS AKILL command.
:;DEL :removes the given mask from the SQLINE list if it is present. If a list of entry numbers is given, those entries are deleted.
:;LIST :displays the SQLINE list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown.
:;VIEW :a more verbose version of SQLINE LIST, and will show who added an SQLINE, the date it was added, and when it expires, as well as the mask and reason.
:;CLEAR :clears all entries of the SQLINE list.
*'''NOTE''': Access to these commands require the permission operserv/snline to be present in your '''opertype'''.
== <div class="moduleheader">Commands</div> ==
;SNLINE
:snline ADD [+expiry] mask:reason
:snline DEL {mask | entry-num | list | id}
:snline LIST [mask | list | id]
:snline VIEW [mask | list | id]
:snline CLEAR
;SQLINE
:sqline ADD [+expiry] mask reason
:sqline DEL {mask | entry-num | list | id}
:sqline LIST [mask | list | id]
:sqline VIEW [mask | list | id]
:sqline CLEAR
== <div class="moduleheader">Examples</div> ==
/msg OperServ SNLINE ADD Adolf Hitler:We do not condone racist name, suggestion, or references.
/msg OperServ SNLINE DEL 3-6
/msg OperServ SNLINE LIST
/msg OperServ SNLINE VIEW
/msg OperServ SNLINE CLEAR
/msg OperServ SQLINE ADD +7d *@*.natzi.org You are not welcome here.
/msg OperServ SQLINE DEL 0x389s4
/msg OperServ SQLINE LIST 1-9
/msg OperServ SQLINE VIEW 5
/msg OperServ SQLINE CLEAR
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_sxline
*
* Provides the operserv/snline and operserv/sqline commands.
*
* Used to ban real names, nick names, and possibly channels.
*/
module { name = "os_sxline" }
command { service = "OperServ"; name = "SNLINE"; command = "operserv/snline"; permission = "operserv/snline"; }
command { service = "OperServ"; name = "SQLINE"; command = "operserv/sqline"; permission = "operserv/sqline"; }
</syntaxhighlight></div>
331d27bd6d424ebf8f888117d24bf1ef50487ffc
2.0/Modules/os update
0
186
821
2014-05-09T14:32:12Z
Azander
9
Created page with "{{Language|2.0/Modules/os_update}} {{Syntax|os_update|OperServ|Anope}} == <div class="moduleheader">Description</div> == Causes Services to update all database files as soon ..."
wikitext
text/x-wiki
{{Language|2.0/Modules/os_update}}
{{Syntax|os_update|OperServ|Anope}}
== <div class="moduleheader">Description</div> ==
Causes Services to update all database files as soon as you send the command.
*'''NOTE''': Access to this command requires the permission operserv/update to be present in your ''opertype''.
== <div class="moduleheader">Commands</div> ==
;update
== <div class="moduleheader">Examples</div> ==
/msg OperServ UPDATE
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* os_update
*
* Provides the operserv/update command.
*
* Use to immediately update the databases.
*/
module { name = "os_update" }
command { service = "OperServ"; name = "UPDATE"; command = "operserv/update"; permission = "operserv/update"; }
</syntaxhighlight></div>
67198346ad55f83a3917b9d84e76b80c0bc246b8
2.0/Modules/plexus
0
194
834
2014-05-09T15:28:22Z
Azander
9
Created page with "{{Language|2.0/Modules/plexus}} {{Header|plexus|Protocol|Anope}} == <div class="moduleheader">Description</div> == *'''NOTE''': You must select the correct protocol for your..."
wikitext
text/x-wiki
{{Language|2.0/Modules/plexus}}
{{Header|plexus|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
67012cb872c5215aa02ab74a6312f39896c5fbb6
2.0/Modules/ratbox
0
195
835
2014-05-09T15:28:49Z
Azander
9
Created page with "{{Language|2.0/Modules/ratbox}} {{Header|ratbox|Protocol|Anope}} == <div class="moduleheader">Description</div> == *'''NOTE''': You must select the correct protocol for your..."
wikitext
text/x-wiki
{{Language|2.0/Modules/ratbox}}
{{Header|ratbox|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
0c3365ddd651417c45b63223e02f1e1e76132423
2.0/Modules/unreal
0
196
844
843
2014-05-09T16:30:10Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/unreal}}
{{Header|unreal|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
This is how services connects to your IRCd. In the configuration sections of your services.conf file you will need to specify the protocol type, in this case unreal, and the proper linking information for your network.
;UPLINK {...}:This is where you configure your connection to your main server.
:'''host=''' The hostname to connect to. We recommend you use localhost if at all possible to limit your exposure to the rest of the internet.
:'''ipv6=''' Use IPv6 to connect to your IRCd.
:'''ssl=''' Use Secure Scocket Layer (encrypted) connection to your IRCd. This isn't needed if you use localhost, as the information never leaves your server to get to the IRCd.
:'''port=''' The port number to connect on. It is a good pratice to give services its own port. This can mitigate some forms of Denial of Service Attacks.
:'''password=''' The password used to authenticate the connection between the server and services. We recommend good passwords for this. You don't want some hacker faking your services connection.
;MODULE { name="unreal" ...} :This is where you tell it what protocol to use, and any special options that it may have.
:'''name=''' The name of the protocol you wish to use. In this case you would use ''unreal'' since you are wanting to use the unreal protocol to connect to your unreal IRCd.
:'''use_server_side_mlock=''' This tells services to use the IRCd to use its own internal mlock method. UnrealIRCd supports this.
:'''use_server_side_topiclock=''' This tells services to use the IRCd to ise its own internal topiclick method. UnrealIRCd '''does not''' support this.
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Example Configuration ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] IRCd Config
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 7000
password = "mypassword"
}
module
{
name = "unreal"
use_server_side_mlock = yes
use_server_side_topiclock = no
}
</syntaxhighlight></div>
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
c1dbd6f7b8fc7c243c9b1687132358dd41752ff6
843
842
2014-05-09T16:17:44Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/unreal}}
{{Header|unreal|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
This is how services connects to your IRCd. In the configuration sections of your services.conf file you will need to specify the protocol type, in this case unreal, and the proper linking information for your network.
;UPLINK {...}:This is where you configure your connection to your main server.
:'''host''' The hostname to connect to. We recommend you use localhost if at all possible to limit your exposure to the rest of the internet.
;MODULE { name="unreal" ...} :This is where you tell it what protocol to use, and any special options that it may have.
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Example Configuration ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] IRCd Config
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 7000
password = "mypassword"
}
module
{
name = "unreal"
use_server_side_mlock = yes
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
48e0a058c99307c9dc1fa3b0244f3c370c31d305
842
841
2014-05-09T16:15:36Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/unreal}}
{{Header|unreal|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
This is how services connects to your IRCd. In the configuration sections of your services.conf file you will need to specify the protocol type, in this case unreal, and the proper linking information for your network.
;UPLINK {...}:This is where you configure your connection to your main server.
;MODULE { name="unreal" ...} :This is where you tell it what protocol to use, and any special options that it may have.
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Example Configuration ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] IRCd Config
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 7000
password = "mypassword"
}
module
{
name = "unreal"
use_server_side_mlock = yes
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
d58a0069924ec1d28a168e0772a154dd8b54b31e
841
840
2014-05-09T16:11:02Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/unreal}}
{{Header|unreal|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Example Configuration ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] IRCd Config
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 7000
password = "mypassword"
}
module
{
name = "unreal"
use_server_side_mlock = yes
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
499276890a909a5e092edc336b5c0ff4b5b6c668
840
836
2014-05-09T16:10:24Z
Azander
9
wikitext
text/x-wiki
{{Language|2.0/Modules/unreal}}
{{Header|unreal|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Example Configuration ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
host = "127.0.0.1"
ipv6 = no
ssl = no
port = 7000
password = "mypassword"
}
module
{
name = "unreal"
use_server_side_mlock = yes
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] IRCd Config
*
* This section is used to set up Anope to connect to your IRC network.
* This section can be included multiple times, and Anope will attempt to
* connect to each server until it finally connects.
*
* Each uplink IRCd should have a corresponding configuration to allow Services
* to link to it.
*
* An example configuration for InspIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* <link name="services.localhost.net"
* ipaddr="127.0.0.1"
* port="7000"
* sendpass="mypassword"
* recvpass="mypassword">
* <uline server="services.localhost.net" silent="yes">
* <bind address="127.0.0.1" port="7000" type="servers">
*
* An example configuration for UnrealIRCd that is compatible with the below uplink
* and serverinfo configuration would look like:
*
* link services.localhost.net
* {
* username *;
* hostname *;
* bind-ip "127.0.0.1";
* port 7000;
* hub *;
* password-connect "mypassword";
* password-receive "mypassword";
* class servers;
* };
* ulines { services.localhost.net; };
* listen 127.0.0.1:7000;
*/
uplink
{
/*
* The IP or hostname of the IRC server you wish to connect Services to.
* Usually, you will want to connect Services over 127.0.0.1 (aka localhost).
*
* NOTE: On some shell providers, this will not be an option.
*/
host = "127.0.0.1"
/*
* Enable if Services should connect using IPv6.
*/
ipv6 = no
/*
* Enable if Services should connect using SSL.
* You must have an SSL module loaded for this to work.
*/
ssl = no
/*
* The port to connect to.
* The IRCd *MUST* be configured to listen on this port, and to accept
* server connections.
*
* Refer to your IRCd documentation for how this is to be done.
*/
port = 7000
/*
* The password to send to the IRC server for authentication.
* This must match the link block on your IRCd.
*
* Refer to your IRCd documentation for more information on link blocks.
*/
password = "mypassword"
}
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
8e3f8196d4ce7588eb8d7c803b1f81b83a84d86b
836
2014-05-09T15:29:11Z
Azander
9
Created page with "{{Language|2.0/Modules/unreal}} {{Header|unreal|Protocol|Anope}} == <div class="moduleheader">Description</div> == *'''NOTE''': You must select the correct protocol for your..."
wikitext
text/x-wiki
{{Language|2.0/Modules/unreal}}
{{Header|unreal|Protocol|Anope}}
== <div class="moduleheader">Description</div> ==
*'''NOTE''': You must select the correct protocol for your IRCd. The wrong one will cause unpredictable results, the '''best''' of which will be that you are unable to connect to your ircd.
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* [REQUIRED] Protocol module
*
* This directive tells Anope which IRCd Protocol to speak when connecting.
* You MUST modify this to match the IRCd you run.
*
* Supported:
* - bahamut
* - charybdis
* - hybrid
* - inspircd12
* - inspircd20
* - ngircd
* - plexus
* - ratbox
* - unreal
*/
module
{
name = "inspircd20"
/*
* Some protocol modules can enforce mode locks server-side. This reduces the spam caused by
* services immediately reversing mode changes for locked modes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_mlock = yes
/*
* Some protocol modules can enforce topic locks server-side. This reduces the spam caused by
* services immediately reversing topic changes.
*
* If the protocol module you have loaded does not support this, this setting will have no effect.
*/
use_server_side_topiclock = yes
}
</syntaxhighlight></div>
8be5cf2cd1b62a93de431ceb91aa91a7078c109b
2.0/Modules/webcpanel
0
211
1073
927
2014-07-02T13:57:46Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Language|2.0/Modules/webcpanel}}
{{Header|webcpanel|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
This module creates a web configuration panel that allows users and operators to perform any task as they could over IRC.
*'''NOTE''': Requires module m_httpd.
;name= :Name of module
;server= :Server process to use
;template= :Web page templates to use
;title= :Web page title
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
</syntaxhighlight></div>
== <div class="moduleheader">Apache Configuration</div> ==
For using apache as a reverse proxy put following in your configuration:
(does not work with .htaccess)
<div class="code">
<syntaxhighlight lang="cpp">
SetOutputFilter proxy-html
# www.anope.org/cpanel/
ProxyPass /cpanel/ http://192.168.1.2:12345/
ProxyPassReverse /cpanel/ http://192.168.1.2:12345/
ProxyPassReverseCookiePath / /cpanel/
<Location /cpanel/>
SetOutPutFilter proxy-html
ProxyHTMLExtended On
ProxyHTMLURLMap ^/(?!/) /cpanel/ R
</Location>
</syntaxhighlight></div>
19d8ce0057a403539743529bc6af1b852e5b12cf
927
2014-05-13T15:45:25Z
Azander
9
Created page with "{{Language|2.0/Modules/webcpanel}} {{Header|webcpanel|Extra_Modules|Anope}} == <div class="moduleheader">Description</div> == This module creates a web configuration panel t..."
wikitext
text/x-wiki
{{Language|2.0/Modules/webcpanel}}
{{Header|webcpanel|Extra_Modules|Anope}}
== <div class="moduleheader">Description</div> ==
This module creates a web configuration panel that allows users and operators to perform any task as they could over IRC.
*'''NOTE''': Requires module m_httpd.
;name= :Name of module
;server= :Server process to use
;template= :Web page templates to use
;title= :Web page title
== <div class="moduleheader">Default Configuration</div> ==
<div class="code">
<syntaxhighlight lang="cpp">
/*
* webcpanel
*
* This module creates a web configuration panel that allows users and operators to perform any task
* as they could over IRC. If you are using the default configuration you should be able to access
* this panel by visiting http://127.0.0.1:8080 in your web browser from the machine Anope is running on.
*
* This module requires m_httpd.
*/
#module
{
name = "webcpanel"
/* Web server to use. */
server = "httpd/main";
/* Template to use. */
template = "default";
/* Page title. */
title = "Anope IRC Services";
}
</syntaxhighlight></div>
cef7f15f6cf353b746a3d03178dfc661c291821a
2.0/Mysql:Scheme
0
219
1010
1009
2014-05-30T19:24:38Z
Azander
9
wikitext
text/x-wiki
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
These tables are auto-created when you use m_sql and/or m_sql_live. Do not alter their formats unless you really know what you are doing. Changes could result in data corruption or preventing services from accessing the data.
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:;BotServ information :
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:;Chanserv Access information :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:;Channel registration and settings :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">EntryMsg</div> ==
:;Channel Entry Message :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|ci || Channel name
|-
|creator || who set it
|-
|message || Entry message to display to users
|-
|when || When was it last updated or created, unixtime format.
|}
== <div class="moduleheader">Exception</div> ==
:;IP Limit Exception list :
:{| class="modules sortable"
! Column || Description
|-
|id || internal ID number for this entry
|-
|timestamp || Date and time entry was last updated or created
|-
|expires || Expires after how long
|-
|limit || How many connections are allowed as the exception
|-
|mask || hostmask to allow
|-
|reason || Why they were allowed the exception
|-
|time || Unixtime format for the last time the record was updated, or created.
|-
|who || who set the exception
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:;Forbid Channel/Nick information :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|created || Unixtime format of date/time when it was created.
|-
|creator || Who created the entry
|-
|expires || when to expire
|-
|mask || What to forbid
|-
|reason || Why banned
|-
|type || mask type (1: nick, 2: channel, 3: email, etc)
|-
|}
== <div class="moduleheader">Memo</div> ==
:;MemoServ memos :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number
|-
|timestamp || Date and time entry was last modified or created
|-
|owner || Recipient of the memo
|-
|receipt || Should a read receipt be sent flag
|-
|sender || Who sent the memo
|-
|text || The text of the memo
|-
|time || Unixtime format, of last time the memo was created, accessed, or modified
|-
|unread || Read status of the memo
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:;Logon/Oper/Random-News :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and time that this entry was created, or updated
|-
|text || News item text to be displayed
|-
|time || Unixtime format of the creation date of this entry
|-
|type || News item type LogonNews, OperNews, RandomNews
|-
|who || Who submitted the news item
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:;Nick information :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of record
|-
|timestamp || Last date and time of record creation or update
|-
|NS_NO_EXPIRE || Nick No-expire flag
|-
|last_quit || Last seen quit message
|-
|last_realhost || Last seen real hostmask
|-
|last_realname || Last seen client supplied real name
|-
|last_seen || Unixtime format, last seen date and time
|-
|last_usermask || Last seen user's hostmask as seen by others
|-
|nc || Nick Core name
|-
|time_registered || Unixtime format, date and time of nick registration
|-
|vhost_creator || Who created the user's vhost
|-
|vhost_vhost || The domain portion of the supplied virtual host
|-
|vhost_ident || The username part of the hostmask supplied for the virtual host
|-
|vhost_time || Unixtime format, Date and time vhost was created.
|}
== <div class="moduleheader">NickCore</div> ==
:;NickServ nick-core information common to all registered nicks for a user :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the record
|-
|timestamp || Last date and time record was created or updated
|-
|AUTOOP || Auto Op Flag
|-
|HIDE_EMAIL || Hide email in whois flag
|-
|HIDE_MASK || Hide last hostmask flag
|-
|MEMO_RECEIVE || Memo recieve flag
|-
|MEMO_SIGNON || Check for new memos at signon flag
|-
|NS_PRIVATE || Private flag
|-
|NS_SECURE || Secure flag
|-
|access || hostmask access list
|-
|display || Nick used for main nick display
|-
|email || Email address for nick group
|-
|language || Language setting
|-
|memomax || Max number of memos that can be recieved at one time
|-
|pass || Password. Encrypted, or not as defined by services.conf modules
|-
|KILL_QUICK || Quick Kill flag
|-
|KILLPROTECT || Kill protection flag
|-
|MSG || Nick entry message text displayed in channels that have the option enabeled
|-
|KILL_IMMED || Immediate kill flag
|-
|}
== <div class="moduleheader">SeenInfo</div> ==
:;Seen information :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for this record
|-
|timestamp || Last date and time this record was created or updated
|-
|channel || Channel name
|-
|last || Unixtime format, last seen date and time for this record
|-
|message || What they did
|-
|nick || Nick that triggered this seen entry
|-
|nick2 || What nick they may be.
|-
|type || Seen info type
|-
|vhost || Virtual host of nick
|-
|}
== <div class="moduleheader">Stats</div> ==
:;Statitstics :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this record
|-
|timestamp || Last date and time this record was updated or created
|-
|maxusercnt || Max user count seen on the network
|-
|maxusertime || Unixtime format, date and time entry was placed in database
|}
== <div class="moduleheader">XLine</div> ==
:;Bans :
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this record
|-
|timestamp || Date and time of last record update or creation
|-
|by || Who set the ban
|-
|created || The date and time in Unixtime format that this record was updated
|-
|expires || The unixtime format for the date and time the ban expires
|-
|manager || What type of ban management is stored
|-
|mask || Hostmask to ban
|-
|reason || Ban reason
|-
|uid || Bad id for easy removal
|-
|}
bd429652b7ed93ab7abdca066b031c0b8c01f03d
1009
1008
2014-05-30T19:20:21Z
Azander
9
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
These tables are auto-created when you use m_sql and/or m_sql_live. Do not alter their formats unless you really know what you are doing. Changes could result in data corruption or preventing services from accessing the data.
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">EntryMsg</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|ci || Channel name
|-
|creator || who set it
|-
|message || Entry message to display to users
|-
|when || When was it last updated or created, unixtime format.
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || internal ID number for this entry
|-
|timestamp || Date and time entry was last updated or created
|-
|expires || Expires after how long
|-
|limit || How many connections are allowed as the exception
|-
|mask || hostmask to allow
|-
|reason || Why they were allowed the exception
|-
|time || Unixtime format for the last time the record was updated, or created.
|-
|who || who set the exception
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|created || Unixtime format of date/time when it was created.
|-
|creator || Who created the entry
|-
|expires || when to expire
|-
|mask || What to forbid
|-
|reason || Why banned
|-
|type || mask type (1: nick, 2: channel, 3: email, etc)
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number
|-
|timestamp || Date and time entry was last modified or created
|-
|owner || Recipient of the memo
|-
|receipt || Should a read receipt be sent flag
|-
|sender || Who sent the memo
|-
|text || The text of the memo
|-
|time || Unixtime format, of last time the memo was created, accessed, or modified
|-
|unread || Read status of the memo
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and time that this entry was created, or updated
|-
|text || News item text to be displayed
|-
|time || Unixtime format of the creation date of this entry
|-
|type || News item type LogonNews, OperNews, RandomNews
|-
|who || Who submitted the news item
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of record
|-
|timestamp || Last date and time of record creation or update
|-
|NS_NO_EXPIRE || Nick No-expire flag
|-
|last_quit || Last seen quit message
|-
|last_realhost || Last seen real hostmask
|-
|last_realname || Last seen client supplied real name
|-
|last_seen || Unixtime format, last seen date and time
|-
|last_usermask || Last seen user's hostmask as seen by others
|-
|nc || Nick Core name
|-
|time_registered || Unixtime format, date and time of nick registration
|-
|vhost_creator || Who created the user's vhost
|-
|vhost_vhost || The domain portion of the supplied virtual host
|-
|vhost_ident || The username part of the hostmask supplied for the virtual host
|-
|vhost_time || Unixtime format, Date and time vhost was created.
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the record
|-
|timestamp || Last date and time record was created or updated
|-
|AUTOOP || Auto Op Flag
|-
|HIDE_EMAIL || Hide email in whois flag
|-
|HIDE_MASK || Hide last hostmask flag
|-
|MEMO_RECEIVE || Memo recieve flag
|-
|MEMO_SIGNON || Check for new memos at signon flag
|-
|NS_PRIVATE || Private flag
|-
|NS_SECURE || Secure flag
|-
|access || hostmask access list
|-
|display || Nick used for main nick display
|-
|email || Email address for nick group
|-
|language || Language setting
|-
|memomax || Max number of memos that can be recieved at one time
|-
|pass || Password. Encrypted, or not as defined by services.conf modules
|-
|KILL_QUICK || Quick Kill flag
|-
|KILLPROTECT || Kill protection flag
|-
|MSG || Nick entry message text displayed in channels that have the option enabeled
|-
|KILL_IMMED || Immediate kill flag
|-
|}
== <div class="moduleheader">SeenInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for this record
|-
|timestamp || Last date and time this record was created or updated
|-
|channel || Channel name
|-
|last || Unixtime format, last seen date and time for this record
|-
|message || What they did
|-
|nick || Nick that triggered this seen entry
|-
|nick2 || What nick they may be.
|-
|type || Seen info type
|-
|vhost || Virtual host of nick
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this record
|-
|timestamp || Last date and time this record was updated or created
|-
|maxusercnt || Max user count seen on the network
|-
|maxusertime || Unixtime format, date and time entry was placed in database
|}
== <div class="moduleheader">XLine</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this record
|-
|timestamp || Date and time of last record update or creation
|-
|by || Who set the ban
|-
|created || The date and time in Unixtime format that this record was updated
|-
|expires || The unixtime format for the date and time the ban expires
|-
|manager || What type of ban management is stored
|-
|mask || Hostmask to ban
|-
|reason || Ban reason
|-
|uid || Bad id for easy removal
|-
|}
a82bc831eddc1be48ac541ca9f0ca592f3b1ddfe
1008
1007
2014-05-30T19:06:37Z
Azander
9
/* NickCore */
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
These tables are auto-created when you use m_sql and/or m_sql_live. Do not alter their formats unless you really know what you are doing. Changes could result in data corruption or preventing services from accessing the data.
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">EntryMsg</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|ci || Channel name
|-
|creator || who set it
|-
|message || Entry message to display to users
|-
|when || When was it last updated or created, unixtime format.
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || internal ID number for this entry
|-
|timestamp || Date and time entry was last updated or created
|-
|expires || Expires after how long
|-
|limit || How many connections are allowed as the exception
|-
|mask || hostmask to allow
|-
|reason || Why they were allowed the exception
|-
|time || Unixtime format for the last time the record was updated, or created.
|-
|who || who set the exception
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|created || Unixtime format of date/time when it was created.
|-
|creator || Who created the entry
|-
|expires || when to expire
|-
|mask || What to forbid
|-
|reason || Why banned
|-
|type || mask type (1: nick, 2: channel, 3: email, etc)
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number
|-
|timestamp || Date and time entry was last modified or created
|-
|owner || Recipient of the memo
|-
|receipt || Should a read receipt be sent flag
|-
|sender || Who sent the memo
|-
|text || The text of the memo
|-
|time || Unixtime format, of last time the memo was created, accessed, or modified
|-
|unread || Read status of the memo
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and time that this entry was created, or updated
|-
|text || News item text to be displayed
|-
|time || Unixtime format of the creation date of this entry
|-
|type || News item type LogonNews, OperNews, RandomNews
|-
|who || Who submitted the news item
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of record
|-
|timestamp || Last date and time of record creation or update
|-
|NS_NO_EXPIRE || Nick No-expire flag
|-
|last_quit || Last seen quit message
|-
|last_realhost || Last seen real hostmask
|-
|last_realname || Last seen client supplied real name
|-
|last_seen || Unixtime format, last seen date and time
|-
|last_usermask || Last seen user's hostmask as seen by others
|-
|nc || Nick Core name
|-
|time_registered || Unixtime format, date and time of nick registration
|-
|vhost_creator || Who created the user's vhost
|-
|vhost_vhost || The domain portion of the supplied virtual host
|-
|vhost_ident || The username part of the hostmask supplied for the virtual host
|-
|vhost_time || Unixtime format, Date and time vhost was created.
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the record
|-
|timestamp || Last date and time record was created or updated
|-
|AUTOOP || Auto Op Flag
|-
|HIDE_EMAIL || Hide email in whois flag
|-
|HIDE_MASK || Hide last hostmask flag
|-
|MEMO_RECEIVE || Memo recieve flag
|-
|MEMO_SIGNON || Check for new memos at signon flag
|-
|NS_PRIVATE || Private flag
|-
|NS_SECURE || Secure flag
|-
|access || hostmask access list
|-
|display || Nick used for main nick display
|-
|email || Email address for nick group
|-
|language || Language setting
|-
|memomax || Max number of memos that can be recieved at one time
|-
|pass || Password. Encrypted, or not as defined by services.conf modules
|-
|KILL_QUICK || Quick Kill flag
|-
|KILLPROTECT || Kill protection flag
|-
|MSG || Nick entry message text displayed in channels that have the option enabeled
|-
|KILL_IMMED || Immediate kill flag
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
9a0e88a5decf6a411696afee829a220befd3f21d
1007
1006
2014-05-30T18:46:57Z
Azander
9
/* NickAlias */
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
These tables are auto-created when you use m_sql and/or m_sql_live. Do not alter their formats unless you really know what you are doing. Changes could result in data corruption or preventing services from accessing the data.
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">EntryMsg</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|ci || Channel name
|-
|creator || who set it
|-
|message || Entry message to display to users
|-
|when || When was it last updated or created, unixtime format.
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || internal ID number for this entry
|-
|timestamp || Date and time entry was last updated or created
|-
|expires || Expires after how long
|-
|limit || How many connections are allowed as the exception
|-
|mask || hostmask to allow
|-
|reason || Why they were allowed the exception
|-
|time || Unixtime format for the last time the record was updated, or created.
|-
|who || who set the exception
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|created || Unixtime format of date/time when it was created.
|-
|creator || Who created the entry
|-
|expires || when to expire
|-
|mask || What to forbid
|-
|reason || Why banned
|-
|type || mask type (1: nick, 2: channel, 3: email, etc)
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number
|-
|timestamp || Date and time entry was last modified or created
|-
|owner || Recipient of the memo
|-
|receipt || Should a read receipt be sent flag
|-
|sender || Who sent the memo
|-
|text || The text of the memo
|-
|time || Unixtime format, of last time the memo was created, accessed, or modified
|-
|unread || Read status of the memo
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and time that this entry was created, or updated
|-
|text || News item text to be displayed
|-
|time || Unixtime format of the creation date of this entry
|-
|type || News item type LogonNews, OperNews, RandomNews
|-
|who || Who submitted the news item
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of record
|-
|timestamp || Last date and time of record creation or update
|-
|NS_NO_EXPIRE || Nick No-expire flag
|-
|last_quit || Last seen quit message
|-
|last_realhost || Last seen real hostmask
|-
|last_realname || Last seen client supplied real name
|-
|last_seen || Unixtime format, last seen date and time
|-
|last_usermask || Last seen user's hostmask as seen by others
|-
|nc || Nick Core name
|-
|time_registered || Unixtime format, date and time of nick registration
|-
|vhost_creator || Who created the user's vhost
|-
|vhost_vhost || The domain portion of the supplied virtual host
|-
|vhost_ident || The username part of the hostmask supplied for the virtual host
|-
|vhost_time || Unixtime format, Date and time vhost was created.
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
7de70a9d815f15dd28830b04e2cd420708d491b0
1006
1005
2014-05-29T21:34:50Z
Azander
9
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
These tables are auto-created when you use m_sql and/or m_sql_live. Do not alter their formats unless you really know what you are doing. Changes could result in data corruption or preventing services from accessing the data.
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">EntryMsg</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|ci || Channel name
|-
|creator || who set it
|-
|message || Entry message to display to users
|-
|when || When was it last updated or created, unixtime format.
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || internal ID number for this entry
|-
|timestamp || Date and time entry was last updated or created
|-
|expires || Expires after how long
|-
|limit || How many connections are allowed as the exception
|-
|mask || hostmask to allow
|-
|reason || Why they were allowed the exception
|-
|time || Unixtime format for the last time the record was updated, or created.
|-
|who || who set the exception
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|created || Unixtime format of date/time when it was created.
|-
|creator || Who created the entry
|-
|expires || when to expire
|-
|mask || What to forbid
|-
|reason || Why banned
|-
|type || mask type (1: nick, 2: channel, 3: email, etc)
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number
|-
|timestamp || Date and time entry was last modified or created
|-
|owner || Recipient of the memo
|-
|receipt || Should a read receipt be sent flag
|-
|sender || Who sent the memo
|-
|text || The text of the memo
|-
|time || Unixtime format, of last time the memo was created, accessed, or modified
|-
|unread || Read status of the memo
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and time that this entry was created, or updated
|-
|text || News item text to be displayed
|-
|time || Unixtime format of the creation date of this entry
|-
|type || News item type LogonNews, OperNews, RandomNews
|-
|who || Who submitted the news item
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
95ee52f1f372569cf1c604e63a61917dd11d05cb
1005
1004
2014-05-29T21:33:11Z
Azander
9
/* NewsItem */
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">EntryMsg</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|ci || Channel name
|-
|creator || who set it
|-
|message || Entry message to display to users
|-
|when || When was it last updated or created, unixtime format.
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || internal ID number for this entry
|-
|timestamp || Date and time entry was last updated or created
|-
|expires || Expires after how long
|-
|limit || How many connections are allowed as the exception
|-
|mask || hostmask to allow
|-
|reason || Why they were allowed the exception
|-
|time || Unixtime format for the last time the record was updated, or created.
|-
|who || who set the exception
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|created || Unixtime format of date/time when it was created.
|-
|creator || Who created the entry
|-
|expires || when to expire
|-
|mask || What to forbid
|-
|reason || Why banned
|-
|type || mask type (1: nick, 2: channel, 3: email, etc)
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number
|-
|timestamp || Date and time entry was last modified or created
|-
|owner || Recipient of the memo
|-
|receipt || Should a read receipt be sent flag
|-
|sender || Who sent the memo
|-
|text || The text of the memo
|-
|time || Unixtime format, of last time the memo was created, accessed, or modified
|-
|unread || Read status of the memo
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and time that this entry was created, or updated
|-
|text || News item text to be displayed
|-
|time || Unixtime format of the creation date of this entry
|-
|type || News item type LogonNews, OperNews, RandomNews
|-
|who || Who submitted the news item
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
7032d4f3eab98b33eb154fb47f27cb9efc1a9f64
1004
1001
2014-05-29T21:30:22Z
Azander
9
/* Memo */
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">EntryMsg</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|ci || Channel name
|-
|creator || who set it
|-
|message || Entry message to display to users
|-
|when || When was it last updated or created, unixtime format.
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || internal ID number for this entry
|-
|timestamp || Date and time entry was last updated or created
|-
|expires || Expires after how long
|-
|limit || How many connections are allowed as the exception
|-
|mask || hostmask to allow
|-
|reason || Why they were allowed the exception
|-
|time || Unixtime format for the last time the record was updated, or created.
|-
|who || who set the exception
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|created || Unixtime format of date/time when it was created.
|-
|creator || Who created the entry
|-
|expires || when to expire
|-
|mask || What to forbid
|-
|reason || Why banned
|-
|type || mask type (1: nick, 2: channel, 3: email, etc)
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number
|-
|timestamp || Date and time entry was last modified or created
|-
|owner || Recipient of the memo
|-
|receipt || Should a read receipt be sent flag
|-
|sender || Who sent the memo
|-
|text || The text of the memo
|-
|time || Unixtime format, of last time the memo was created, accessed, or modified
|-
|unread || Read status of the memo
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
5326b483292ac49253573061da0d132bbc502766
1001
1000
2014-05-27T22:01:29Z
Azander
9
/* ForbidData */
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">EntryMsg</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|ci || Channel name
|-
|creator || who set it
|-
|message || Entry message to display to users
|-
|when || When was it last updated or created, unixtime format.
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || internal ID number for this entry
|-
|timestamp || Date and time entry was last updated or created
|-
|expires || Expires after how long
|-
|limit || How many connections are allowed as the exception
|-
|mask || hostmask to allow
|-
|reason || Why they were allowed the exception
|-
|time || Unixtime format for the last time the record was updated, or created.
|-
|who || who set the exception
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of the entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|created || Unixtime format of date/time when it was created.
|-
|creator || Who created the entry
|-
|expires || when to expire
|-
|mask || What to forbid
|-
|reason || Why banned
|-
|type || mask type (1: nick, 2: channel, 3: email, etc)
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
c52302df9542ff47581fdfa920fb83c14a321e21
1000
999
2014-05-27T21:51:12Z
Azander
9
/* Exception */
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">EntryMsg</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|ci || Channel name
|-
|creator || who set it
|-
|message || Entry message to display to users
|-
|when || When was it last updated or created, unixtime format.
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || internal ID number for this entry
|-
|timestamp || Date and time entry was last updated or created
|-
|expires || Expires after how long
|-
|limit || How many connections are allowed as the exception
|-
|mask || hostmask to allow
|-
|reason || Why they were allowed the exception
|-
|time || Unixtime format for the last time the record was updated, or created.
|-
|who || who set the exception
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
ed24de147d2f0d84bad1bed84049a5784676cf0b
999
998
2014-05-27T21:45:30Z
Azander
9
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">EntryMsg</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number of entry
|-
|timestamp || Date and Time entry was last updated or created
|-
|ci || Channel name
|-
|creator || who set it
|-
|message || Entry message to display to users
|-
|when || When was it last updated or created, unixtime format.
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
99695252a1c74b20500cc846baefd3e16d919937
998
997
2014-05-27T21:42:56Z
Azander
9
/* ChannelInfo */
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes || How many repeated lines before kicking.
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
a7764b00d8678fa5730590040666206205089090
997
996
2014-05-27T21:42:21Z
Azander
9
/* ChannelInfo */
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Peave Flag. When peace is set, a user won't be able to kick, ban or remove a channel status of a user that has a level superior or equal to his via ChanServ commands.
|-
|SECUREFOUNDER || SecureFounder flag. When secure founder is set, only the real founder will be able to drop the channel, change its founder and its successor.
|-
|SIGNKICK || Signed Kick flag. Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK || Topiclock Flag. When topiclock is set, the channel topic will be unchangeable except via the chanserv topic command
|-
|banexpire || Bans should auto expire after this time
|-
|bantype || Sets the ban type that will be used by services whenever they need to ban someone from your channel. See Chanserv's SET BANTYPE for details.
|-
|capsmin || Minimum number of caps, before check for a ban
|-
|capspercent || Persentage of caps in a line to ban on.
|-
|description || Channel description
|-
|floodline || Number of lines to ban for flooding
|-
|floodsecs || Number of seconds to check number of lines for banning
|-
|founder || Channel owner
|-
|kickerdata:amsgs || Statistics, how many akicks.
|-
|kickerdata:badwords || Statistics, how many badword kicks
|-
|kickerdata:bolds || Statistics, how many bold kicks
|-
|kickerdata:caps || Statistics, how many caps kicks
|-
|kickerdata:colors || Statistics, how many color kicks
|-
|kickerdata:flood || Statistics, how many flood kicks
|-
|kickerdata:italics || Statistics, how many italic kicks
|-
|kickerdata:repeat || Statistics, how many repeated lines kicks
|-
|kickerdata:reverses || Statistics, how many reverse text kicks
|-
|kickerdata:underlines || Statistics, how many underline text kicks
|-
|last_topic || The topic currently set by Chanserv
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels || Access levels for channel. See Chanserv's LEVELS command for details.
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes ||
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban
|-
|CS_PRIVATE || Private flag. When private is set, the channel will not appear in ChanServ's LIST command
|-
|CS_NO_EXPIRE || No Expire flag. Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS || SecureOps Flag. When secure ops is set, users who are not on the userlist will not be allowed chanop status
|-
|bi || Assigned Bot nick, if any.
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
7e4076ca26638b1faaa4c82195f584cf6ed39199
996
995
2014-05-27T21:24:24Z
Azander
9
/* ChannelInfo */
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID number for this entry
|-
|timestamp || Date and time this entry was created or last updated
|-
|BS_FANTASY || Is BotServ's Fantasy commands enabled flag
|-
|BS_GREET || Is Botserv's channel Greeting enabled flag
|-
|CS_SECURE || Is Chanserv's secure channel flag enabled
|-
|KEEPTOPIC || Flag to determine if Chanserv should reset the topic when someone tries to change it
|-
|PEACE || Chanserv's PEACE flag
|-
|SECUREFOUNDER ||
|-
|SIGNKICK || Should the person who does a chanserv kick have their nick appended
|-
|TOPICLOCK ||
|-
|banexpire ||
|-
|bantype ||
|-
|capsmin ||
|-
|capspercent ||
|-
|description || Channel description
|-
|floodline ||
|-
|floodsecs ||
|-
|founder || Channel owner
|-
|kickerdata:amsgs ||
|-
|kickerdata:badwords ||
|-
|kickerdata:bolds ||
|-
|kickerdata:caps ||
|-
|kickerdata:colors ||
|-
|kickerdata:flood ||
|-
|kickerdata:italics ||
|-
|kickerdata:repeat ||
|-
|kickerdata:reverses ||
|-
|kickerdata:underlines ||
|-
|last_topic ||
|-
|last_topic_setter || Person who set the last topic
|-
|last_topic_time || Unixtime date and time topic was last reset
|-
|last_used || Last time someone on the access list joined the channel
|-
|levels ||
|-
|memomax || Maximum number of channel memos.
|-
|name || Channel name
|-
|repeattimes ||
|-
|time_registered || Unixtime data and time channel was registered.
|-
|ttb || Time to ban?
|-
|CS_PRIVATE ||
|-
|CS_NO_EXPIRE || Should the channel expire be ignored if the cahnnel sits unused for longer than the expire time of channels.
|-
|SECUREOPS ||
|-
|bi ||
|-
|successor || Successor for channel ownership if the current channel's founder's nick expires.
|-
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
025561e2277af23ce4636738246e3e71e9ad75bc
995
994
2014-05-27T20:56:01Z
Azander
9
/* ChanAccess */
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Internal ID for the channel Access entry
|-
|timestamp || Date and time it was created
|-
|ci || Channel Name
|-
|created || Unix Datetime for creation of entry
|-
|creator || Who added the entry
|-
|data || Access level, flag(s), and/or xOP level
|-
|last_seen || Last time the user was seen joining the channel
|-
|mask || Hostmask for this entry
|-
|provider || Type of Access list entry
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
a26f634a93d228107c50a00d4a7c9cd0ec832a0c
994
993
2014-05-27T20:49:48Z
Azander
9
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== <div class="moduleheader">BotInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|id || Botinformation ID Number
|-
|timestamp || Human readable date and time that the bot was created
|-
|created || Unix Timestamp for the date and time that the bot was created
|-
|host || Hostname defined for the bot
|-
|nick || IRC Nick for the bot.
|-
|oper_only || Flag to determine of the bot is for ircop access only
|-
|realname || Real-name field for /whois information
|-
|user || Ident/Username field for /whois information
|-
|}
== <div class="moduleheader">ChanAccess</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">ChannelInfo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Exception</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">ForbidData</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Memo</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NewsItem</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickAlias</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">NickCore</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
== <div class="moduleheader">Stats</div> ==
:{| class="modules sortable"
! Column || Description
|-
|}
bac2622a43f1dc2754020e6b6ddba3ed79362fed
993
992
2014-05-27T20:33:22Z
Azander
9
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
:'''Example''': anope_db_AutoKick
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== BotInfo ==
:{| class="modules sortable"
! Column || Description
|-
|}
== ChanAccess ==
:{| class="modules sortable"
! Column || Description
|-
|}
== ChannelInfo ==
:{| class="modules sortable"
! Column || Description
|-
|}
== Exception ==
:{| class="modules sortable"
! Column || Description
|-
|}
== ForbidData ==
:{| class="modules sortable"
! Column || Description
|-
|}
== Memo ==
:{| class="modules sortable"
! Column || Description
|-
|}
== NewsItem ==
:{| class="modules sortable"
! Column || Description
|-
|}
== NickAlias ==
:{| class="modules sortable"
! Column || Description
|-
|}
== NickCore ==
:{| class="modules sortable"
! Column || Description
|-
|}
== Stats ==
:{| class="modules sortable"
! Column || Description
|-
|}
a12427b244a21d24faabfc19c14af8e45abb1b2a
992
991
2014-05-27T20:32:19Z
Azander
9
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
== <div class="moduleheader">AutoKick</div> ==
:;Channel AutoKick List :
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used || Unixtime of when last kick was done
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== BotInfo ==
:{| class="modules sortable"
! Column || Description
|-
|}
== ChanAccess ==
:{| class="modules sortable"
! Column || Description
|-
|}
== ChannelInfo ==
:{| class="modules sortable"
! Column || Description
|-
|}
== Exception ==
:{| class="modules sortable"
! Column || Description
|-
|}
== ForbidData ==
:{| class="modules sortable"
! Column || Description
|-
|}
== Memo ==
:{| class="modules sortable"
! Column || Description
|-
|}
== NewsItem ==
:{| class="modules sortable"
! Column || Description
|-
|}
== NickAlias ==
:{| class="modules sortable"
! Column || Description
|-
|}
== NickCore ==
:{| class="modules sortable"
! Column || Description
|-
|}
== Stats ==
:{| class="modules sortable"
! Column || Description
|-
|}
50e69fb6175d07a31bf02a1749f8f1b02819c2a6
991
990
2014-05-27T20:30:14Z
Azander
9
Auto Kick added
wikitext
text/x-wiki
* Work in progress
*'''NOTE''': These tables are usually prefixed by the prefix= entry in the services.conf configuration file.
== AutoKick ==
=== Channel akick list ===
:{| class="modules sortable"
! Column || Description
|-
| id || Entry ID number
|-
| timestamp || Date and time akick was set
|-
| addtime || UnixTime akick was added
|-
| ci || Channel name
|-
| creator || Who set the akick
|-
| last_used ||
|-
| mask || hostmask to auto kick
|-
| reason || Reason for kick
|-
|}
== BotInfo ==
:{| class="modules sortable"
! Column || Description
|-
|}
== ChanAccess ==
:{| class="modules sortable"
! Column || Description
|-
|}
== ChannelInfo ==
:{| class="modules sortable"
! Column || Description
|-
|}
== Exception ==
:{| class="modules sortable"
! Column || Description
|-
|}
== ForbidData ==
:{| class="modules sortable"
! Column || Description
|-
|}
== Memo ==
:{| class="modules sortable"
! Column || Description
|-
|}
== NewsItem ==
:{| class="modules sortable"
! Column || Description
|-
|}
== NickAlias ==
:{| class="modules sortable"
! Column || Description
|-
|}
== NickCore ==
:{| class="modules sortable"
! Column || Description
|-
|}
== Stats ==
:{| class="modules sortable"
! Column || Description
|-
|}
0f3ac7bd7836a655b26c7c3dfeb62b39cffcb315
990
2014-05-27T19:51:23Z
Azander
9
Created page with " *Work in progress"
wikitext
text/x-wiki
*Work in progress
2b2962fe9c588962faf75b32c9dab3ee7c8a231b
2.0/Overview
0
221
1072
1016
2014-07-02T07:44:22Z
Dukepyrolator
4
wikitext
text/x-wiki
Anope is a set of IRC Services forked from Epona early 2003 to pick up where Epona had been abandoned. Ever since there have been improvements on quality and functionality of Anope, resulting in the feature rich set of services we offer today.
There are two releases of Anope available, allowing you to pick what is best for your net. The stable releases we offer are snapshots of the development series which are being continually tested, resulting in a very stable yet powerful set of services. The development releases are where the real work happens. New features get implemented in development release, resulting in a package that defines the future of IRC Services today.
We offer various services clients to maintain your IRC network. Every service is aimed at one goal, offering a complete set of features for the given goal.
'''NickServ''' - nickname management services. NickServ allows your users to register their nickname to prevent others from stealing their nickname. Your users will also be able to kill any ghost connections with their nickname and will be able to group their most-used nicknames together so they can use the same set of settings and access for all of their nicknames.
'''ChanServ''' - channel management services. ChanServ provides the ability to register your channels. This way ChanServ can be used to give channel operator status to regular operators, or to lock other modes or a topic for your channel. Our version of ChanServ provides a very complete set of features for channel management, allowing complete control over your channel.
'''MemoServ''' - send memos to users or channels. MemoServ offers a way to send short messages to users who are currently offline, or to entire channels if you wish. This allows you and your users to quickly tell offline users something, without a chance of forgetting it.
'''OperServ''' - operator utility services. OperServ provides a very complete set of functionality for IRC Operators, allowing them to operate their network in a very efficient way. Including often used features like akills and session limiting, this black box for IRC Operators ensures a safe and easy to manage IRC network.
'''BotServ''' - channel bot services. BotServ allows you to create several bots for your network. These bots can join channels and take over most actions from ChanServ, making things just a tad more intuitive. Additionally, BotServ also adds a few features like fantasy commands and kick triggers.
'''HostServ''' - virtual host services. HostServ offers a way to easily provide virtual hosts to the users on your network. If your IRCd supports virtual hosts HostServ can be used as a very easy interface for setting them, and enables the virtual host every time a user joins the network.
acb6c955ac40e33343c0df35a24c4309adaf602f
1016
1015
2014-05-31T20:42:32Z
Yoerger
7
Protected "[[2.0/Overview]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
Anope is a set of IRC Services forked from Epona early 2003 to pick up where Epona had been abandoned. Ever since there have been improvements on quality and functionality of Anope, resulting in the feature rich set of services we offer today.
There are two releases of Anope available, allowing you to pick what is best for your net. The stable releases we offer are snapshots of the development series which are being continually tested, resulting in a very stable yet powerful set of services. The development releases are where the real work happens. New features get implemented in development release, resulting in a package that defines the future of IRC Services today.
We offer various services clients to maintain your IRC network. Every service is aimed at one goal, offering a complete set of features for the given goal.
'''NickServ''' - nickname management services. NickServ allows your users to register their nickname to prevent others from stealing their nickname. Your users will also be able to kill any ghost connections with their nickname and will be able to group their most-used nicknames together so they can use the same set of settings and access for all of their nicknames.
'''ChanServ''' - channel management services. ChanServ provides the ability to register your channels. This way ChanServ can be used to give channel operator status to regular operators, or to lock other modes or a topic for your channel. Our version of ChanServ provides a very complete set of features for channel management, allowing complete control over your channel.
'''MemoServ''' - send memos to users or channels. MemoServ offers a way to send short messages to users who are currently offline, or to entire channels if you wish. This allows you and your users to quickly tell offline users something, without a chance of forgetting it.
'''OperServ''' - operator utility services. OperServ provides a very complete set of functionality for IRC Operators, allowing them to operate their network in a very efficient way. Including often used features like akills and session limiting, this black box for IRC Operators ensures a safe and easy to manage IRC network.
'''BotServ''' - channel bot services. BotServ allows you to create several bots for your network. These bots can join channels and take over most actions from ChanServ, making things just a tad more intuitive. Additionally, BotServ also adds a few features like fantasy commands and kick triggers.
'''HostServ''' - virtual host services. HostServ offers a way to easily provide virtual hosts to the users on your network. If your IRCd supports virtual hosts HostServ can be used as a very easy interface for setting them, and enables the virtual host every time a user joins the network.
Next to these popular services, Anope also provides a few other services. These include HelpServ, a service used to give people a simple overview of services, DevNull, a message sink, and Global, used to send global notices to everyone on your IRC network.
a761239d626310bed254a47b85a0597ad8db83a9
1015
1014
2014-05-31T20:41:05Z
Yoerger
7
wikitext
text/x-wiki
Anope is a set of IRC Services forked from Epona early 2003 to pick up where Epona had been abandoned. Ever since there have been improvements on quality and functionality of Anope, resulting in the feature rich set of services we offer today.
There are two releases of Anope available, allowing you to pick what is best for your net. The stable releases we offer are snapshots of the development series which are being continually tested, resulting in a very stable yet powerful set of services. The development releases are where the real work happens. New features get implemented in development release, resulting in a package that defines the future of IRC Services today.
We offer various services clients to maintain your IRC network. Every service is aimed at one goal, offering a complete set of features for the given goal.
'''NickServ''' - nickname management services. NickServ allows your users to register their nickname to prevent others from stealing their nickname. Your users will also be able to kill any ghost connections with their nickname and will be able to group their most-used nicknames together so they can use the same set of settings and access for all of their nicknames.
'''ChanServ''' - channel management services. ChanServ provides the ability to register your channels. This way ChanServ can be used to give channel operator status to regular operators, or to lock other modes or a topic for your channel. Our version of ChanServ provides a very complete set of features for channel management, allowing complete control over your channel.
'''MemoServ''' - send memos to users or channels. MemoServ offers a way to send short messages to users who are currently offline, or to entire channels if you wish. This allows you and your users to quickly tell offline users something, without a chance of forgetting it.
'''OperServ''' - operator utility services. OperServ provides a very complete set of functionality for IRC Operators, allowing them to operate their network in a very efficient way. Including often used features like akills and session limiting, this black box for IRC Operators ensures a safe and easy to manage IRC network.
'''BotServ''' - channel bot services. BotServ allows you to create several bots for your network. These bots can join channels and take over most actions from ChanServ, making things just a tad more intuitive. Additionally, BotServ also adds a few features like fantasy commands and kick triggers.
'''HostServ''' - virtual host services. HostServ offers a way to easily provide virtual hosts to the users on your network. If your IRCd supports virtual hosts HostServ can be used as a very easy interface for setting them, and enables the virtual host every time a user joins the network.
Next to these popular services, Anope also provides a few other services. These include HelpServ, a service used to give people a simple overview of services, DevNull, a message sink, and Global, used to send global notices to everyone on your IRC network.
a761239d626310bed254a47b85a0597ad8db83a9
1014
2014-05-31T20:40:48Z
Yoerger
7
Created page with "Anope is a set of IRC Services forked from Epona early 2003 to pick up where Epona had been abandoned. Ever since there have been improvements on quality and functionality of ..."
wikitext
text/x-wiki
Anope is a set of IRC Services forked from Epona early 2003 to pick up where Epona had been abandoned. Ever since there have been improvements on quality and functionality of Anope, resulting in the feature rich set of services we offer today.
There are two releases of Anope available, allowing you to pick what is best for your net. The stable releases we offer are snapshots of the development series which are being continually tested, resulting in a very stable yet powerful set of services. The development releases are where the real work happens. New features get implemented in development release, resulting in a package that defines the future of IRC Services today.
We offer various services clients to maintain your IRC network. Every service is aimed at one goal, offering a complete set of features for the given goal.
'''NickServ''' - nickname management services. NickServ allows your users to register their nickname to prevent others from stealing their nickname. Your users will also be able to kill any ghost connections with their nickname and will be able to group their most-used nicknames together so they can use the same set of settings and access for all of their nicknames.
'''ChanServ''' - channel management services. ChanServ provides the ability to register your channels. This way ChanServ can be used to give channel operator status to regular operators, or to lock other modes or a topic for your channel. Our version of ChanServ provides a very complete set of features for channel management, allowing complete control over your channel.
'''MemoServ''' - send memos to users or channels. MemoServ offers a way to send short messages to users who are currently offline, or to entire channels if you wish. This allows you and your users to quickly tell offline users something, without a chance of forgetting it.
'''OperServ''' - operator utility services. OperServ provides a very complete set of functionality for IRC Operators, allowing them to operate their network in a very efficient way. Including often used features like akills and session limiting, this black box for IRC Operators ensures a safe and easy to manage IRC network.
'''BotServ''' - channel bot services. BotServ allows you to create several bots for your network. These bots can join channels and take over most actions from ChanServ, making things just a tad more intuitive. Additionally, BotServ also adds a few features like fantasy commands and kick triggers.
'''HostServ''' - virtual host services. HostServ offers a way to easily provide virtual hosts to the users on your network. If your IRCd supports virtual hosts HostServ can be used as a very easy interface for setting them, and enables the virtual host every time a user joins the network.
Next to these popular services, Anope also provides a few other services. These include HelpServ, a service used to give people a simple overview of services, DevNull, a message sink, and Global, used to send global notices to everyone on your IRC network.
e6bb8bd4ca1ae8addae4a6a3dfb62481f9d8d5cc
2.0/README
0
75
1017
853
2014-05-31T20:42:38Z
Yoerger
7
Protected "[[2.0/README]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Boxes|Anope -- a set of IRC services for IRC networks|}}
{| align="right"
| __TOC__
|}
* Anope is © 2003-2014 Anope Team <team@anope.org>.
* Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
* Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
This program is free but copyrighted software; see the file COPYING for
details.
Information about Anope may be found at http://www.anope.org/
Information about Epona may be found at http://www.irc-wiki.org/Epona
Information about Services may be found at http://achurch.org/services/
== <div class="moduleheader">Credits</div> ==
Anope is based on Lara's Epona version 1.4.14.
Epona is based on Andy Church's IRC Services version 4.3.3.
=== The original credits ===
::* Mauritz Antunes -- Portuguese translation
::* Jose R. Holzmann, Raul S. Villarreal -- Spanish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- News system
::* <d.duca@eurcom.net> -- Italian translation
::* <mikado@holyfire.com> -- Turkish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- Session limiting
=== Epona credits ===
::* lara <lara@pegsoft.net> -- Main coding
::* CafeiN <oytuny@yahoo.com> -- Turkish translation
::* Sylvain Cresto aka tost <scresto@netsante.fr> -- FreeBSD 5 patch
::* Marcelo Conde Foscarini aka Bras <ircadmin@brmarket.net> -- Portuguese translation
::* Alvaro Toledo aka POLLITO <atoledo@keldon.org> -- Spanish translation
::* chemical <chemical@musicplay.de> -- German translation
::* shine <dh@shinewelt.de> -- German translation
::* Guven Guzelbey aka MeShGuL <guzelbey@cs.utk.edu> -- Turkish translation
::* Jordi Pujol <jordi.pujol@aujac.org> -- Catalan translation
::* Eva Dachs <evadachs@terra.es> -- Catalan translation
::* Toni Perez <toni.perez@aujac.org> -- Catalan translation
::* Sergios Karalis <sergios_k@hotmail.com> -- Greek translation
::* Thomas J. Stensas aka ShadowMaster <shadowmaster@shadow-realm.org> -- Ultimate 3.x support
=== Anope credits ===
::* Adam Kramer <ribosome@anope.org>
::* Adam <adam@anope.org>
::* Alvaro Toledo <atoledo@keldon.org>
::* Amanda Folson <amanda@anope.org>
::* Andrew Berquist <vash@anope.org>
::* Björn Stiddien <keeper@anope.org>
::* Charles Kingsley <chaz@anope.org>
::* Chris Hogben <heinz@anope.org>
::* Daniel Engel <dane@zero.org>
::* David <dv@diboo.net>
::* David Narayan <jester@phrixus.net>
::* David Robson <rob@anope.org>
::* Daniele Nicolucci <jollino@sogno.net>
::* Florian Schulze <certus@anope.org>
::* Gabriel Acevedo H. <drstein@anope.org>
::* Jan Milants <viper@anope.org>
::* Jens Voss <dukepyrolator@anope.org>
::* JH <jh@irc-chat.net>
::* Joris Vink <joris@anope.org>
::* Lee Holmes <lethality@anope.org>
::* Lucas Nussbaum <lucas@lucas-nussbaum.net>
::* Mark Summers <mark@goopler.net>
::* Matthew Beeching <jobe@invictachat.net>
::* Naram Qashat <cyberbotx@anope.org>
::* Phil Lavin <phil@anope.org>
::* Pieter Bootsma <geniusdex@anope.org>
::* Robin Burchell <w00t@inspircd.org>
::* Sean Roe <therock247uk@anope.org>
::* Sebastian V <hal9000@anope.org>
::* Thomas Juberg Stensås <ShadowMaster@Shadow-Realm.org>
::* Trystan .S Lee <trystan@nomadirc.net>
::* openglx <openglx@brasnerd.com.br>
=== Anope Translations ===
::* Robby <robby@chat.be> (nl_NL)
::* Kein <kein-of@yandex.ru> (ru_RU)
::* Maik Funke <Han@mefalcon.org> (de_DE)
::* Isaac Fontal <i_fontal@hotmail.com> (es_ES)
::* Janos Kapitany <sarkanyka@cjbchat.hu> (hu_HU)
::* Szymon S'wierkosz <szymek@adres.pl> (pl_PL)
::* Christopher N. <saka@epiknet.org> (fr_FR)
::* Yusuf Kurekci <ysfm.20@gmail.com> (tr_TR)
=== Anope Web panel ===
::* Denis M. (Phr33d0m) <god@politeia.in>
== <div class="moduleheader">Presentation</div> ==
:Anope is a set of Services for IRC networks that allows users to manage their nicks and channels in a secure and efficient way, and administrators to manage their network with powerful tools.
=== Currently available services are ===
::* [[2.0/Modules#NickServ|NickServ]], a powerful nickname manager that users can use to protect themselves against nick stealing. Each user has its own nickname group, that allows the user to register as many nicks as needed while still being able to take profit of his privileges and to modify the nick configuration. NickServ also has an optional password retrieval feature.
::* [[2.0/Modules#ChanServ|ChanServ]], a powerful channel manager that helps users to administer their channels in a totally customizable way. ChanServ has an internal list of privileged users and banned users that controls accesses on a per-channel basis. It eliminates all takeover problems, because of its powerful op/unban/invite and even mass deop and mass kick functions.
::* [[2.0/Modules#MemoServ|MemoServ]], an helpful companion that allows sending short messages to offline users, that they can then read when they come online later.
::* [[2.0/Modules#BotServ|BotServ]], an original service that allows users to get a permanent, friendly bot on their channels in an easy way. Each bot can be configured to monitor the channels against floods, repetitions, caps writing, and swearing, and to take appropriate actions. It also can handle user-friendly commands (like !op, !deop, !voice, !devoice, !kick, and many others), say a short greet message when an user joins a channel, and even "take over" ChanServ actions such as auto-opping users, saying the entry notice, and so on. This service can be disabled if you want to save some bandwidth.
::* [[2.0/Modules#OperServ|OperServ]], the IRCops' and IRC admins' black box, that allows them to manage the list of network bans (also known as AKILL (DALnet) or GLINE (Undernet)), to configure messages displayed to users when they log on, to set modes and to kick users from any channel, to send notices quickly to the entire network, and much more!
::* [[2.0/Modules#HostServ|HostServ]], a neat service that allows users to show custom vHosts (virtual hosts) instead of their real IP address; this only works on daemons supporting ip cloaking, such as UnrealIRCd.
=== Anope currently works with ===
::* Bahamut 1.4.27 or later (including 1.8)
::* Charybdis 3.4 or later
::* Hybrid 8.1 or later
::* InspIRCd 1.2 or 2.0
::* ngIRCd 19.2 or later
::* Plexus 3 or later
::* Ratbox 2.0.6 or later
::* UnrealIRCd 3.2 or later
Anope could also work with some of the daemons derived by the ones listed above, but there's no support for them if they work or don't work.
== <div class="moduleheader">Installation</div> ==
:See the INSTALL file for instruction on installing Anope.
== <div class="moduleheader">Command Line Options</div> ==
:Normally, Anope can be run simply by invoking the "services" executable. Any of the following command-line options can be specified to change the behavior of Anope:
:--debug :Enable debugging mode; more info sent to log (give option more times for more info)
:--readonly :Enable read-only mode; no changes to databases allowed
:--nofork :Do not fork after startup; log messages will be written to terminal
:--noexpire :Expiration routines won't be run at all
:--version :Display the version of Anope
:--nothird :Do not load the non-core modules specified
:--protocoldebug :Debug each incoming message after protocol parsing
:--support :Used for support, same as --debug --nofork --nothird
:Upon starting, Anope will parse its command-line parameters then (assuming the --nofork option is not given) detach itself and run in the background. If Anope encounters a problem reading the database files or cannot connect to its uplink server, it will terminate immediately; otherwise, it will run until the connection is terminated (or a QUIT, SHUTDOWN, or RESTART command is sent; see OperServ's help).
:In the case of an error, an appropriate error message will be written to the log file.
:If Anope is run with the "--readonly" command-line option, it can serve as a "backup" to the full version of services. A "full" version of services (run without --readonly) will automatically reintroduce its pseudo-clients (NickServ, ChanServ, etc.), while a "backup" services will not, thus allowing full services to be brought up at any time without disrupting the network (and without having to take backup services down beforehand).
:The "--debug" option is useful if you find or suspect a problem in Anope. Giving it once on the command line will cause all traffic to and from services as well as some other debugging information to be recorded in the log file; if you send a bug report, PLEASE include an excerpt from the log file WITH DEBUGGING ACTIVE; we cannot emphasize enough how important this is to tracking down problems. (You can also enable debugging while Services is running using OperServ's SET DEBUG command.) If you repeat use --debug=<level>, the debugging level will be increased, which provides more detailed information but may also slow Anope down considerably and make the log file grow dramatically faster. In general, a debug level of 1 is sufficient for the coding team to be able to trace a problem, because all network traffic is included and we can usually reproduce the problem.
== <div class="moduleheader">Messages Translations</div> ==
:Please see LANGUAGE for this information
== <div class="moduleheader">Contact</div> ==
:For announcements and discussions about Anope, please visit our Portal and Forums at [http://www.anope.org/] -- make sure you register yourself to get full benefits.
:If you read the documentation carefully, and didn't find the answer to your question, feel free to post on the website forums or join our irc channel (irc.anope.org #anope). Once you join our Support channel be as precise as possible when asking a question, because we have no extraordinary powers and can't guess things if they aren't provided.
:The more precise you are the sooner you'll be likely to get an answer. If you think you found a bug, add it to the bug tracking system (http://bugs.anope.org) and - again - be as precise as possible. Also say whether the bug happens always or under what circumstances, and anything that could be useful to track your bug down. If you wrote a patch, send it over. :)
d32c63f91c297100eae4c23c84787e2d57d34da2
853
852
2014-05-09T20:08:50Z
Azander
9
wikitext
text/x-wiki
{{Boxes|Anope -- a set of IRC services for IRC networks|}}
{| align="right"
| __TOC__
|}
* Anope is © 2003-2014 Anope Team <team@anope.org>.
* Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
* Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
This program is free but copyrighted software; see the file COPYING for
details.
Information about Anope may be found at http://www.anope.org/
Information about Epona may be found at http://www.irc-wiki.org/Epona
Information about Services may be found at http://achurch.org/services/
== <div class="moduleheader">Credits</div> ==
Anope is based on Lara's Epona version 1.4.14.
Epona is based on Andy Church's IRC Services version 4.3.3.
=== The original credits ===
::* Mauritz Antunes -- Portuguese translation
::* Jose R. Holzmann, Raul S. Villarreal -- Spanish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- News system
::* <d.duca@eurcom.net> -- Italian translation
::* <mikado@holyfire.com> -- Turkish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- Session limiting
=== Epona credits ===
::* lara <lara@pegsoft.net> -- Main coding
::* CafeiN <oytuny@yahoo.com> -- Turkish translation
::* Sylvain Cresto aka tost <scresto@netsante.fr> -- FreeBSD 5 patch
::* Marcelo Conde Foscarini aka Bras <ircadmin@brmarket.net> -- Portuguese translation
::* Alvaro Toledo aka POLLITO <atoledo@keldon.org> -- Spanish translation
::* chemical <chemical@musicplay.de> -- German translation
::* shine <dh@shinewelt.de> -- German translation
::* Guven Guzelbey aka MeShGuL <guzelbey@cs.utk.edu> -- Turkish translation
::* Jordi Pujol <jordi.pujol@aujac.org> -- Catalan translation
::* Eva Dachs <evadachs@terra.es> -- Catalan translation
::* Toni Perez <toni.perez@aujac.org> -- Catalan translation
::* Sergios Karalis <sergios_k@hotmail.com> -- Greek translation
::* Thomas J. Stensas aka ShadowMaster <shadowmaster@shadow-realm.org> -- Ultimate 3.x support
=== Anope credits ===
::* Adam Kramer <ribosome@anope.org>
::* Adam <adam@anope.org>
::* Alvaro Toledo <atoledo@keldon.org>
::* Amanda Folson <amanda@anope.org>
::* Andrew Berquist <vash@anope.org>
::* Björn Stiddien <keeper@anope.org>
::* Charles Kingsley <chaz@anope.org>
::* Chris Hogben <heinz@anope.org>
::* Daniel Engel <dane@zero.org>
::* David <dv@diboo.net>
::* David Narayan <jester@phrixus.net>
::* David Robson <rob@anope.org>
::* Daniele Nicolucci <jollino@sogno.net>
::* Florian Schulze <certus@anope.org>
::* Gabriel Acevedo H. <drstein@anope.org>
::* Jan Milants <viper@anope.org>
::* Jens Voss <dukepyrolator@anope.org>
::* JH <jh@irc-chat.net>
::* Joris Vink <joris@anope.org>
::* Lee Holmes <lethality@anope.org>
::* Lucas Nussbaum <lucas@lucas-nussbaum.net>
::* Mark Summers <mark@goopler.net>
::* Matthew Beeching <jobe@invictachat.net>
::* Naram Qashat <cyberbotx@anope.org>
::* Phil Lavin <phil@anope.org>
::* Pieter Bootsma <geniusdex@anope.org>
::* Robin Burchell <w00t@inspircd.org>
::* Sean Roe <therock247uk@anope.org>
::* Sebastian V <hal9000@anope.org>
::* Thomas Juberg Stensås <ShadowMaster@Shadow-Realm.org>
::* Trystan .S Lee <trystan@nomadirc.net>
::* openglx <openglx@brasnerd.com.br>
=== Anope Translations ===
::* Robby <robby@chat.be> (nl_NL)
::* Kein <kein-of@yandex.ru> (ru_RU)
::* Maik Funke <Han@mefalcon.org> (de_DE)
::* Isaac Fontal <i_fontal@hotmail.com> (es_ES)
::* Janos Kapitany <sarkanyka@cjbchat.hu> (hu_HU)
::* Szymon S'wierkosz <szymek@adres.pl> (pl_PL)
::* Christopher N. <saka@epiknet.org> (fr_FR)
::* Yusuf Kurekci <ysfm.20@gmail.com> (tr_TR)
=== Anope Web panel ===
::* Denis M. (Phr33d0m) <god@politeia.in>
== <div class="moduleheader">Presentation</div> ==
:Anope is a set of Services for IRC networks that allows users to manage their nicks and channels in a secure and efficient way, and administrators to manage their network with powerful tools.
=== Currently available services are ===
::* [[2.0/Modules#NickServ|NickServ]], a powerful nickname manager that users can use to protect themselves against nick stealing. Each user has its own nickname group, that allows the user to register as many nicks as needed while still being able to take profit of his privileges and to modify the nick configuration. NickServ also has an optional password retrieval feature.
::* [[2.0/Modules#ChanServ|ChanServ]], a powerful channel manager that helps users to administer their channels in a totally customizable way. ChanServ has an internal list of privileged users and banned users that controls accesses on a per-channel basis. It eliminates all takeover problems, because of its powerful op/unban/invite and even mass deop and mass kick functions.
::* [[2.0/Modules#MemoServ|MemoServ]], an helpful companion that allows sending short messages to offline users, that they can then read when they come online later.
::* [[2.0/Modules#BotServ|BotServ]], an original service that allows users to get a permanent, friendly bot on their channels in an easy way. Each bot can be configured to monitor the channels against floods, repetitions, caps writing, and swearing, and to take appropriate actions. It also can handle user-friendly commands (like !op, !deop, !voice, !devoice, !kick, and many others), say a short greet message when an user joins a channel, and even "take over" ChanServ actions such as auto-opping users, saying the entry notice, and so on. This service can be disabled if you want to save some bandwidth.
::* [[2.0/Modules#OperServ|OperServ]], the IRCops' and IRC admins' black box, that allows them to manage the list of network bans (also known as AKILL (DALnet) or GLINE (Undernet)), to configure messages displayed to users when they log on, to set modes and to kick users from any channel, to send notices quickly to the entire network, and much more!
::* [[2.0/Modules#HostServ|HostServ]], a neat service that allows users to show custom vHosts (virtual hosts) instead of their real IP address; this only works on daemons supporting ip cloaking, such as UnrealIRCd.
=== Anope currently works with ===
::* Bahamut 1.4.27 or later (including 1.8)
::* Charybdis 3.4 or later
::* Hybrid 8.1 or later
::* InspIRCd 1.2 or 2.0
::* ngIRCd 19.2 or later
::* Plexus 3 or later
::* Ratbox 2.0.6 or later
::* UnrealIRCd 3.2 or later
Anope could also work with some of the daemons derived by the ones listed above, but there's no support for them if they work or don't work.
== <div class="moduleheader">Installation</div> ==
:See the INSTALL file for instruction on installing Anope.
== <div class="moduleheader">Command Line Options</div> ==
:Normally, Anope can be run simply by invoking the "services" executable. Any of the following command-line options can be specified to change the behavior of Anope:
:--debug :Enable debugging mode; more info sent to log (give option more times for more info)
:--readonly :Enable read-only mode; no changes to databases allowed
:--nofork :Do not fork after startup; log messages will be written to terminal
:--noexpire :Expiration routines won't be run at all
:--version :Display the version of Anope
:--nothird :Do not load the non-core modules specified
:--protocoldebug :Debug each incoming message after protocol parsing
:--support :Used for support, same as --debug --nofork --nothird
:Upon starting, Anope will parse its command-line parameters then (assuming the --nofork option is not given) detach itself and run in the background. If Anope encounters a problem reading the database files or cannot connect to its uplink server, it will terminate immediately; otherwise, it will run until the connection is terminated (or a QUIT, SHUTDOWN, or RESTART command is sent; see OperServ's help).
:In the case of an error, an appropriate error message will be written to the log file.
:If Anope is run with the "--readonly" command-line option, it can serve as a "backup" to the full version of services. A "full" version of services (run without --readonly) will automatically reintroduce its pseudo-clients (NickServ, ChanServ, etc.), while a "backup" services will not, thus allowing full services to be brought up at any time without disrupting the network (and without having to take backup services down beforehand).
:The "--debug" option is useful if you find or suspect a problem in Anope. Giving it once on the command line will cause all traffic to and from services as well as some other debugging information to be recorded in the log file; if you send a bug report, PLEASE include an excerpt from the log file WITH DEBUGGING ACTIVE; we cannot emphasize enough how important this is to tracking down problems. (You can also enable debugging while Services is running using OperServ's SET DEBUG command.) If you repeat use --debug=<level>, the debugging level will be increased, which provides more detailed information but may also slow Anope down considerably and make the log file grow dramatically faster. In general, a debug level of 1 is sufficient for the coding team to be able to trace a problem, because all network traffic is included and we can usually reproduce the problem.
== <div class="moduleheader">Messages Translations</div> ==
:Please see LANGUAGE for this information
== <div class="moduleheader">Contact</div> ==
:For announcements and discussions about Anope, please visit our Portal and Forums at [http://www.anope.org/] -- make sure you register yourself to get full benefits.
:If you read the documentation carefully, and didn't find the answer to your question, feel free to post on the website forums or join our irc channel (irc.anope.org #anope). Once you join our Support channel be as precise as possible when asking a question, because we have no extraordinary powers and can't guess things if they aren't provided.
:The more precise you are the sooner you'll be likely to get an answer. If you think you found a bug, add it to the bug tracking system (http://bugs.anope.org) and - again - be as precise as possible. Also say whether the bug happens always or under what circumstances, and anything that could be useful to track your bug down. If you wrote a patch, send it over. :)
d32c63f91c297100eae4c23c84787e2d57d34da2
852
812
2014-05-09T20:07:06Z
Azander
9
wikitext
text/x-wiki
{{Boxes|Anope -- a set of IRC services for IRC networks|}}
{| align="right"
| __TOC__
|}
* Anope is © 2003-2014 Anope Team <team@anope.org>.
* Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
* Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
This program is free but copyrighted software; see the file COPYING for
details.
Information about Anope may be found at http://www.anope.org/
Information about Epona may be found at http://www.irc-wiki.org/Epona
Information about Services may be found at http://achurch.org/services/
== <div class="moduleheader">Credits</div> ==
Anope is based on Lara's Epona version 1.4.14.
Epona is based on Andy Church's IRC Services version 4.3.3.
=== The original credits ===
::* Mauritz Antunes -- Portuguese translation
::* Jose R. Holzmann, Raul S. Villarreal -- Spanish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- News system
::* <d.duca@eurcom.net> -- Italian translation
::* <mikado@holyfire.com> -- Turkish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- Session limiting
=== Epona credits ===
::* lara <lara@pegsoft.net> -- Main coding
::* CafeiN <oytuny@yahoo.com> -- Turkish translation
::* Sylvain Cresto aka tost <scresto@netsante.fr> -- FreeBSD 5 patch
::* Marcelo Conde Foscarini aka Bras <ircadmin@brmarket.net> -- Portuguese translation
::* Alvaro Toledo aka POLLITO <atoledo@keldon.org> -- Spanish translation
::* chemical <chemical@musicplay.de> -- German translation
::* shine <dh@shinewelt.de> -- German translation
::* Guven Guzelbey aka MeShGuL <guzelbey@cs.utk.edu> -- Turkish translation
::* Jordi Pujol <jordi.pujol@aujac.org> -- Catalan translation
::* Eva Dachs <evadachs@terra.es> -- Catalan translation
::* Toni Perez <toni.perez@aujac.org> -- Catalan translation
::* Sergios Karalis <sergios_k@hotmail.com> -- Greek translation
::* Thomas J. Stensas aka ShadowMaster <shadowmaster@shadow-realm.org> -- Ultimate 3.x support
=== Anope credits ===
::* Adam Kramer <ribosome@anope.org>
::* Adam <adam@anope.org>
::* Alvaro Toledo <atoledo@keldon.org>
::* Amanda Folson <amanda@anope.org>
::* Andrew Berquist <vash@anope.org>
::* Björn Stiddien <keeper@anope.org>
::* Charles Kingsley <chaz@anope.org>
::* Chris Hogben <heinz@anope.org>
::* Daniel Engel <dane@zero.org>
::* David <dv@diboo.net>
::* David Narayan <jester@phrixus.net>
::* David Robson <rob@anope.org>
::* Daniele Nicolucci <jollino@sogno.net>
::* Florian Schulze <certus@anope.org>
::* Gabriel Acevedo H. <drstein@anope.org>
::* Jan Milants <viper@anope.org>
::* Jens Voss <dukepyrolator@anope.org>
::* JH <jh@irc-chat.net>
::* Joris Vink <joris@anope.org>
::* Lee Holmes <lethality@anope.org>
::* Lucas Nussbaum <lucas@lucas-nussbaum.net>
::* Mark Summers <mark@goopler.net>
::* Matthew Beeching <jobe@invictachat.net>
::* Naram Qashat <cyberbotx@anope.org>
::* Phil Lavin <phil@anope.org>
::* Pieter Bootsma <geniusdex@anope.org>
::* Robin Burchell <w00t@inspircd.org>
::* Sean Roe <therock247uk@anope.org>
::* Sebastian V <hal9000@anope.org>
::* Thomas Juberg Stensås <ShadowMaster@Shadow-Realm.org>
::* Trystan .S Lee <trystan@nomadirc.net>
::* openglx <openglx@brasnerd.com.br>
=== Anope Translations ===
::* Robby <robby@chat.be> (nl_NL)
::* Kein <kein-of@yandex.ru> (ru_RU)
::* Maik Funke <Han@mefalcon.org> (de_DE)
::* Isaac Fontal <i_fontal@hotmail.com> (es_ES)
::* Janos Kapitany <sarkanyka@cjbchat.hu> (hu_HU)
::* Szymon S'wierkosz <szymek@adres.pl> (pl_PL)
::* Christopher N. <saka@epiknet.org> (fr_FR)
::* Yusuf Kurekci <ysfm.20@gmail.com> (tr_TR)
=== Anope Web panel ===
::* Denis M. (Phr33d0m) <god@politeia.in>
== <div class="moduleheader">Presentation</div> ==
:Anope is a set of Services for IRC networks that allows users to manage their nicks and channels in a secure and efficient way, and administrators to manage their network with powerful tools.
=== Currently available services are ===
::* [[2.0/Modules#NickServ|NickServ]], a powerful nickname manager that users can use to protect themselves against nick stealing. Each user has its own nickname group, that allows the user to register as many nicks as needed while still being able to take profit of his privileges and to modify the nick configuration. NickServ also has an optional password retrieval feature.
::* [[2.0/Modules#ChanServ|ChanServ]], a powerful channel manager that helps users to administer their channels in a totally customizable way. ChanServ has an internal list of privileged users and banned users that controls accesses on a per-channel basis. It eliminates all takeover problems, because of its powerful op/unban/invite and even mass deop and mass kick functions.
::* [[2.0/Modules#MemoServ|MemoServ]], an helpful companion that allows sending short messages to offline users, that they can then read when they come online later.
::* [[2.0/Modules#BotServ|BotServ]], an original service that allows users to get a permanent, friendly bot on their channels in an easy way. Each bot can be configured to monitor the channels against floods, repetitions, caps writing, and swearing, and to take appropriate actions. It also can handle user-friendly commands (like !op, !deop, !voice, !devoice, !kick, and many others), say a short greet message when an user joins a channel, and even "take over" ChanServ actions such as auto-opping users, saying the entry notice, and so on. This service can be disabled if you want to save some bandwidth.
::* [[2.0/Modules#OperServ|OperServ]], the IRCops' and IRC admins' black box, that allows them to manage the list of network bans (also known as AKILL (DALnet) or GLINE (Undernet)), to configure messages displayed to users when they log on, to set modes and to kick users from any channel, to send notices quickly to the entire network, and much more!
::* [[2.0/Modules#HostServ|HostServ]], a neat service that allows users to show custom vHosts (virtual hosts) instead of their real IP address; this only works on daemons supporting ip cloaking, such as UnrealIRCd.
=== Anope currently works with ===
::* Bahamut 1.4.27 or later (including 1.8)
::* Charybdis 3.4 or later
::* Hybrid 8.1 or later
::* InspIRCd 1.2 or 2.0
::* ngIRCd 19.2 or later
::* Plexus 3 or later
::* Ratbox 2.0.6 or later
::* UnrealIRCd 3.2 or later
Anope could also work with some of the daemons derived by the ones listed above, but there's no support for them if they work or don't work.
== <div class="moduleheader">Installation</div> ==
:See the INSTALL file for instruction on installing Anope.
== Command Line Options ==
:Normally, Anope can be run simply by invoking the "services" executable. Any of the following command-line options can be specified to change the behavior of Anope:
:--debug :Enable debugging mode; more info sent to log (give option more times for more info)
:--readonly :Enable read-only mode; no changes to databases allowed
:--nofork :Do not fork after startup; log messages will be written to terminal
:--noexpire :Expiration routines won't be run at all
:--version :Display the version of Anope
:--nothird :Do not load the non-core modules specified
:--protocoldebug :Debug each incoming message after protocol parsing
:--support :Used for support, same as --debug --nofork --nothird
:Upon starting, Anope will parse its command-line parameters then (assuming the --nofork option is not given) detach itself and run in the background. If Anope encounters a problem reading the database files or cannot connect to its uplink server, it will terminate immediately; otherwise, it will run until the connection is terminated (or a QUIT, SHUTDOWN, or RESTART command is sent; see OperServ's help).
:In the case of an error, an appropriate error message will be written to the log file.
:If Anope is run with the "--readonly" command-line option, it can serve as a "backup" to the full version of services. A "full" version of services (run without --readonly) will automatically reintroduce its pseudo-clients (NickServ, ChanServ, etc.), while a "backup" services will not, thus allowing full services to be brought up at any time without disrupting the network (and without having to take backup services down beforehand).
:The "--debug" option is useful if you find or suspect a problem in Anope. Giving it once on the command line will cause all traffic to and from services as well as some other debugging information to be recorded in the log file; if you send a bug report, PLEASE include an excerpt from the log file WITH DEBUGGING ACTIVE; we cannot emphasize enough how important this is to tracking down problems. (You can also enable debugging while Services is running using OperServ's SET DEBUG command.) If you repeat use --debug=<level>, the debugging level will be increased, which provides more detailed information but may also slow Anope down considerably and make the log file grow dramatically faster. In general, a debug level of 1 is sufficient for the coding team to be able to trace a problem, because all network traffic is included and we can usually reproduce the problem.
== <div class="moduleheader">Messages Translations</div> ==
:Please see LANGUAGE for this information
== <div class="moduleheader">Contact</div> ==
:For announcements and discussions about Anope, please visit our Portal and Forums at [http://www.anope.org/] -- make sure you register yourself to get full benefits.
:If you read the documentation carefully, and didn't find the answer to your question, feel free to post on the website forums or join our irc channel (irc.anope.org #anope). Once you join our Support channel be as precise as possible when asking a question, because we have no extraordinary powers and can't guess things if they aren't provided.
:The more precise you are the sooner you'll be likely to get an answer. If you think you found a bug, add it to the bug tracking system (http://bugs.anope.org) and - again - be as precise as possible. Also say whether the bug happens always or under what circumstances, and anything that could be useful to track your bug down. If you wrote a patch, send it over. :)
1ff2850ebe65b12d073041b7cc762d88326e7aef
812
611
2014-05-09T03:45:27Z
Dukepyrolator
4
wikitext
text/x-wiki
{{Boxes|Anope -- a set of IRC services for IRC networks|}}
{| align="right"
| __TOC__
|}
* Anope is © 2003-2014 Anope Team <team@anope.org>.
* Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
* Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
This program is free but copyrighted software; see the file COPYING for
details.
Information about Anope may be found at http://www.anope.org/
Information about Epona may be found at http://www.irc-wiki.org/Epona
Information about Services may be found at http://achurch.org/services/
== Credits ==
Anope is based on Lara's Epona version 1.4.14.
Epona is based on Andy Church's IRC Services version 4.3.3.
=== The original credits ===
::* Mauritz Antunes -- Portuguese translation
::* Jose R. Holzmann, Raul S. Villarreal -- Spanish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- News system
::* <d.duca@eurcom.net> -- Italian translation
::* <mikado@holyfire.com> -- Turkish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- Session limiting
=== Epona credits ===
::* lara <lara@pegsoft.net> -- Main coding
::* CafeiN <oytuny@yahoo.com> -- Turkish translation
::* Sylvain Cresto aka tost <scresto@netsante.fr> -- FreeBSD 5 patch
::* Marcelo Conde Foscarini aka Bras <ircadmin@brmarket.net> -- Portuguese translation
::* Alvaro Toledo aka POLLITO <atoledo@keldon.org> -- Spanish translation
::* chemical <chemical@musicplay.de> -- German translation
::* shine <dh@shinewelt.de> -- German translation
::* Guven Guzelbey aka MeShGuL <guzelbey@cs.utk.edu> -- Turkish translation
::* Jordi Pujol <jordi.pujol@aujac.org> -- Catalan translation
::* Eva Dachs <evadachs@terra.es> -- Catalan translation
::* Toni Perez <toni.perez@aujac.org> -- Catalan translation
::* Sergios Karalis <sergios_k@hotmail.com> -- Greek translation
::* Thomas J. Stensas aka ShadowMaster <shadowmaster@shadow-realm.org> -- Ultimate 3.x support
=== Anope credits ===
::* Adam Kramer <ribosome@anope.org>
::* Adam <adam@anope.org>
::* Alvaro Toledo <atoledo@keldon.org>
::* Amanda Folson <amanda@anope.org>
::* Andrew Berquist <vash@anope.org>
::* Björn Stiddien <keeper@anope.org>
::* Charles Kingsley <chaz@anope.org>
::* Chris Hogben <heinz@anope.org>
::* Daniel Engel <dane@zero.org>
::* David <dv@diboo.net>
::* David Narayan <jester@phrixus.net>
::* David Robson <rob@anope.org>
::* Daniele Nicolucci <jollino@sogno.net>
::* Florian Schulze <certus@anope.org>
::* Gabriel Acevedo H. <drstein@anope.org>
::* Jan Milants <viper@anope.org>
::* Jens Voss <dukepyrolator@anope.org>
::* JH <jh@irc-chat.net>
::* Joris Vink <joris@anope.org>
::* Lee Holmes <lethality@anope.org>
::* Lucas Nussbaum <lucas@lucas-nussbaum.net>
::* Mark Summers <mark@goopler.net>
::* Matthew Beeching <jobe@invictachat.net>
::* Naram Qashat <cyberbotx@anope.org>
::* Phil Lavin <phil@anope.org>
::* Pieter Bootsma <geniusdex@anope.org>
::* Robin Burchell <w00t@inspircd.org>
::* Sean Roe <therock247uk@anope.org>
::* Sebastian V <hal9000@anope.org>
::* Thomas Juberg Stensås <ShadowMaster@Shadow-Realm.org>
::* Trystan .S Lee <trystan@nomadirc.net>
::* openglx <openglx@brasnerd.com.br>
=== Anope Translations ===
::* Robby <robby@chat.be> (nl_NL)
::* Kein <kein-of@yandex.ru> (ru_RU)
::* Maik Funke <Han@mefalcon.org> (de_DE)
::* Isaac Fontal <i_fontal@hotmail.com> (es_ES)
::* Janos Kapitany <sarkanyka@cjbchat.hu> (hu_HU)
::* Szymon S'wierkosz <szymek@adres.pl> (pl_PL)
::* Christopher N. <saka@epiknet.org> (fr_FR)
::* Yusuf Kurekci <ysfm.20@gmail.com> (tr_TR)
=== Anope Web panel ===
::* Denis M. (Phr33d0m) <god@politeia.in>
== Presentation ==
:Anope is a set of Services for IRC networks that allows users to manage their nicks and channels in a secure and efficient way, and administrators to manage their network with powerful tools.
=== Currently available services are ===
::* [[2.0/Modules#NickServ|NickServ]], a powerful nickname manager that users can use to protect themselves against nick stealing. Each user has its own nickname group, that allows the user to register as many nicks as needed while still being able to take profit of his privileges and to modify the nick configuration. NickServ also has an optional password retrieval feature.
::* [[2.0/Modules#ChanServ|ChanServ]], a powerful channel manager that helps users to administer their channels in a totally customizable way. ChanServ has an internal list of privileged users and banned users that controls accesses on a per-channel basis. It eliminates all takeover problems, because of its powerful op/unban/invite and even mass deop and mass kick functions.
::* [[2.0/Modules#MemoServ|MemoServ]], an helpful companion that allows sending short messages to offline users, that they can then read when they come online later.
::* [[2.0/Modules#BotServ|BotServ]], an original service that allows users to get a permanent, friendly bot on their channels in an easy way. Each bot can be configured to monitor the channels against floods, repetitions, caps writing, and swearing, and to take appropriate actions. It also can handle user-friendly commands (like !op, !deop, !voice, !devoice, !kick, and many others), say a short greet message when an user joins a channel, and even "take over" ChanServ actions such as auto-opping users, saying the entry notice, and so on. This service can be disabled if you want to save some bandwidth.
::* [[2.0/Modules#OperServ|OperServ]], the IRCops' and IRC admins' black box, that allows them to manage the list of network bans (also known as AKILL (DALnet) or GLINE (Undernet)), to configure messages displayed to users when they log on, to set modes and to kick users from any channel, to send notices quickly to the entire network, and much more!
::* [[2.0/Modules#HostServ|HostServ]], a neat service that allows users to show custom vHosts (virtual hosts) instead of their real IP address; this only works on daemons supporting ip cloaking, such as UnrealIRCd.
=== Anope currently works with ===
::* Bahamut 1.4.27 or later (including 1.8)
::* Charybdis 3.4 or later
::* Hybrid 8.1 or later
::* InspIRCd 1.2 or 2.0
::* ngIRCd 19.2 or later
::* Plexus 3 or later
::* Ratbox 2.0.6 or later
::* UnrealIRCd 3.2 or later
Anope could also work with some of the daemons derived by the ones listed above, but there's no support for them if they work or don't work.
== Installation ==
:See the INSTALL file for instruction on installing Anope.
== Command Line Options ==
:Normally, Anope can be run simply by invoking the "services" executable. Any of the following command-line options can be specified to change the behavior of Anope:
:--debug :Enable debugging mode; more info sent to log (give option more times for more info)
:--readonly :Enable read-only mode; no changes to databases allowed
:--nofork :Do not fork after startup; log messages will be written to terminal
:--noexpire :Expiration routines won't be run at all
:--version :Display the version of Anope
:--nothird :Do not load the non-core modules specified
:--protocoldebug :Debug each incoming message after protocol parsing
:--support :Used for support, same as --debug --nofork --nothird
:Upon starting, Anope will parse its command-line parameters then (assuming the --nofork option is not given) detach itself and run in the background. If Anope encounters a problem reading the database files or cannot connect to its uplink server, it will terminate immediately; otherwise, it will run until the connection is terminated (or a QUIT, SHUTDOWN, or RESTART command is sent; see OperServ's help).
:In the case of an error, an appropriate error message will be written to the log file.
:If Anope is run with the "--readonly" command-line option, it can serve as a "backup" to the full version of services. A "full" version of services (run without --readonly) will automatically reintroduce its pseudo-clients (NickServ, ChanServ, etc.), while a "backup" services will not, thus allowing full services to be brought up at any time without disrupting the network (and without having to take backup services down beforehand).
:The "--debug" option is useful if you find or suspect a problem in Anope. Giving it once on the command line will cause all traffic to and from services as well as some other debugging information to be recorded in the log file; if you send a bug report, PLEASE include an excerpt from the log file WITH DEBUGGING ACTIVE; we cannot emphasize enough how important this is to tracking down problems. (You can also enable debugging while Services is running using OperServ's SET DEBUG command.) If you repeat use --debug=<level>, the debugging level will be increased, which provides more detailed information but may also slow Anope down considerably and make the log file grow dramatically faster. In general, a debug level of 1 is sufficient for the coding team to be able to trace a problem, because all network traffic is included and we can usually reproduce the problem.
== Messages Translations ==
:Please see LANGUAGE for this information
== Contact ==
:For announcements and discussions about Anope, please visit our Portal and Forums at [http://www.anope.org/] -- make sure you register yourself to get full benefits.
:If you read the documentation carefully, and didn't find the answer to your question, feel free to post on the website forums or join our irc channel (irc.anope.org #anope). Once you join our Support channel be as precise as possible when asking a question, because we have no extraordinary powers and can't guess things if they aren't provided.
:The more precise you are the sooner you'll be likely to get an answer. If you think you found a bug, add it to the bug tracking system (http://bugs.anope.org) and - again - be as precise as possible. Also say whether the bug happens always or under what circumstances, and anything that could be useful to track your bug down. If you wrote a patch, send it over. :)
b02fbfdebb769cf9e65ebb1e82c36fd2aa148878
611
550
2014-05-05T22:18:32Z
Azander
9
wikitext
text/x-wiki
{{Boxes|Anope -- a set of IRC services for IRC networks|}}
{| align="right"
| __TOC__
|}
* Anope is © 2003-2014 Anope Team <team@anope.org>.
* Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
* Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
This program is free but copyrighted software; see the file COPYING for
details.
Information about Anope may be found at http://www.anope.org/
Information about Epona may be found at http://www.epona.org/
Information about Services may be found at http://www.ircservices.esper.net/
== Credits ==
Anope is based on Lara's Epona version 1.4.14.
Epona is based on Andy Church's IRC Services version 4.3.3.
=== The original credits ===
::* Mauritz Antunes -- Portuguese translation
::* Jose R. Holzmann, Raul S. Villarreal -- Spanish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- News system
::* <d.duca@eurcom.net> -- Italian translation
::* <mikado@holyfire.com> -- Turkish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- Session limiting
=== Epona credits ===
::* lara <lara@pegsoft.net> -- Main coding
::* CafeiN <oytuny@yahoo.com> -- Turkish translation
::* Sylvain Cresto aka tost <scresto@netsante.fr> -- FreeBSD 5 patch
::* Marcelo Conde Foscarini aka Bras <ircadmin@brmarket.net> -- Portuguese translation
::* Alvaro Toledo aka POLLITO <atoledo@keldon.org> -- Spanish translation
::* chemical <chemical@musicplay.de> -- German translation
::* shine <dh@shinewelt.de> -- German translation
::* Guven Guzelbey aka MeShGuL <guzelbey@cs.utk.edu> -- Turkish translation
::* Jordi Pujol <jordi.pujol@aujac.org> -- Catalan translation
::* Eva Dachs <evadachs@terra.es> -- Catalan translation
::* Toni Perez <toni.perez@aujac.org> -- Catalan translation
::* Sergios Karalis <sergios_k@hotmail.com> -- Greek translation
::* Thomas J. Stensas aka ShadowMaster <shadowmaster@shadow-realm.org> -- Ultimate 3.x support
=== Anope credits ===
::* Adam Kramer <ribosome@anope.org>
::* Adam <adam@anope.org>
::* Alvaro Toledo <atoledo@keldon.org>
::* Amanda Folson <amanda@anope.org>
::* Andrew Berquist <vash@anope.org>
::* Björn Stiddien <keeper@anope.org>
::* Charles Kingsley <chaz@anope.org>
::* Chris Hogben <heinz@anope.org>
::* Daniel Engel <dane@zero.org>
::* David <dv@diboo.net>
::* David Narayan <jester@phrixus.net>
::* David Robson <rob@anope.org>
::* Daniele Nicolucci <jollino@sogno.net>
::* Florian Schulze <certus@anope.org>
::* Gabriel Acevedo H. <drstein@anope.org>
::* Jan Milants <viper@anope.org>
::* Jens Voss <dukepyrolator@anope.org>
::* JH <jh@irc-chat.net>
::* Joris Vink <joris@anope.org>
::* Lee Holmes <lethality@anope.org>
::* Lucas Nussbaum <lucas@lucas-nussbaum.net>
::* Mark Summers <mark@goopler.net>
::* Matthew Beeching <jobe@invictachat.net>
::* Naram Qashat <cyberbotx@anope.org>
::* Phil Lavin <phil@anope.org>
::* Pieter Bootsma <geniusdex@anope.org>
::* Robin Burchell <w00t@inspircd.org>
::* Sean Roe <therock247uk@anope.org>
::* Sebastian V <hal9000@anope.org>
::* Thomas Juberg Stensås <ShadowMaster@Shadow-Realm.org>
::* Trystan .S Lee <trystan@nomadirc.net>
::* openglx <openglx@brasnerd.com.br>
=== Anope Translations ===
::* Robby <robby@chat.be> (nl_NL)
::* Kein <kein-of@yandex.ru> (ru_RU)
::* Maik Funke <Han@mefalcon.org> (de_DE)
::* Isaac Fontal <i_fontal@hotmail.com> (es_ES)
::* Janos Kapitany <sarkanyka@cjbchat.hu> (hu_HU)
::* Szymon S'wierkosz <szymek@adres.pl> (pl_PL)
::* Christopher N. <saka@epiknet.org> (fr_FR)
::* Yusuf Kurekci <ysfm.20@gmail.com> (tr_TR)
=== Anope Web panel ===
::* Denis M. (Phr33d0m) <god@politeia.in>
== Presentation ==
:Anope is a set of Services for IRC networks that allows users to manage their nicks and channels in a secure and efficient way, and administrators to manage their network with powerful tools.
=== Currently available services are ===
::* [[2.0/Modules#NickServ|NickServ]], a powerful nickname manager that users can use to protect themselves against nick stealing. Each user has its own nickname group, that allows the user to register as many nicks as needed while still being able to take profit of his privileges and to modify the nick configuration. NickServ also has an optional password retrieval feature.
::* [[2.0/Modules#ChanServ|ChanServ]], a powerful channel manager that helps users to administer their channels in a totally customizable way. ChanServ has an internal list of privileged users and banned users that controls accesses on a per-channel basis. It eliminates all takeover problems, because of its powerful op/unban/invite and even mass deop and mass kick functions.
::* [[2.0/Modules#MemoServ|MemoServ]], an helpful companion that allows sending short messages to offline users, that they can then read when they come online later.
::* [[2.0/Modules#BotServ|BotServ]], an original service that allows users to get a permanent, friendly bot on their channels in an easy way. Each bot can be configured to monitor the channels against floods, repetitions, caps writing, and swearing, and to take appropriate actions. It also can handle user-friendly commands (like !op, !deop, !voice, !devoice, !kick, and many others), say a short greet message when an user joins a channel, and even "take over" ChanServ actions such as auto-opping users, saying the entry notice, and so on. This service can be disabled if you want to save some bandwidth.
::* [[2.0/Modules#OperServ|OperServ]], the IRCops' and IRC admins' black box, that allows them to manage the list of network bans (also known as AKILL (DALnet) or GLINE (Undernet)), to configure messages displayed to users when they log on, to set modes and to kick users from any channel, to send notices quickly to the entire network, and much more!
::* [[2.0/Modules#HostServ|HostServ]], a neat service that allows users to show custom vHosts (virtual hosts) instead of their real IP address; this only works on daemons supporting ip cloaking, such as UnrealIRCd.
=== Anope currently works with ===
::* Bahamut 1.4.27 or later (including 1.8)
::* Charybdis 3.4 or later
::* Hybrid 8.1 or later
::* InspIRCd 1.2 or 2.0
::* ngIRCd 19.2 or later
::* Plexus 3 or later
::* Ratbox 2.0.6 or later
::* UnrealIRCd 3.2 or later
Anope could also work with some of the daemons derived by the ones listed above, but there's no support for them if they work or don't work.
== Installation ==
:See the INSTALL file for instruction on installing Anope.
== Command Line Options ==
:Normally, Anope can be run simply by invoking the "services" executable. Any of the following command-line options can be specified to change the behavior of Anope:
:--debug :Enable debugging mode; more info sent to log (give option more times for more info)
:--readonly :Enable read-only mode; no changes to databases allowed
:--nofork :Do not fork after startup; log messages will be written to terminal
:--noexpire :Expiration routines won't be run at all
:--version :Display the version of Anope
:--nothird :Do not load the non-core modules specified
:--protocoldebug :Debug each incoming message after protocol parsing
:--support :Used for support, same as --debug --nofork --nothird
:Upon starting, Anope will parse its command-line parameters then (assuming the --nofork option is not given) detach itself and run in the background. If Anope encounters a problem reading the database files or cannot connect to its uplink server, it will terminate immediately; otherwise, it will run until the connection is terminated (or a QUIT, SHUTDOWN, or RESTART command is sent; see OperServ's help).
:In the case of an error, an appropriate error message will be written to the log file.
:If Anope is run with the "--readonly" command-line option, it can serve as a "backup" to the full version of services. A "full" version of services (run without --readonly) will automatically reintroduce its pseudo-clients (NickServ, ChanServ, etc.), while a "backup" services will not, thus allowing full services to be brought up at any time without disrupting the network (and without having to take backup services down beforehand).
:The "--debug" option is useful if you find or suspect a problem in Anope. Giving it once on the command line will cause all traffic to and from services as well as some other debugging information to be recorded in the log file; if you send a bug report, PLEASE include an excerpt from the log file WITH DEBUGGING ACTIVE; we cannot emphasize enough how important this is to tracking down problems. (You can also enable debugging while Services is running using OperServ's SET DEBUG command.) If you repeat use --debug=<level>, the debugging level will be increased, which provides more detailed information but may also slow Anope down considerably and make the log file grow dramatically faster. In general, a debug level of 1 is sufficient for the coding team to be able to trace a problem, because all network traffic is included and we can usually reproduce the problem.
== Messages Translations ==
:Please see LANGUAGE for this information
== Contact ==
:For announcements and discussions about Anope, please visit our Portal and Forums at [http://www.anope.org/] -- make sure you register yourself to get full benefits.
:If you read the documentation carefully, and didn't find the answer to your question, feel free to post on the website forums or join our irc channel (irc.anope.org #anope). Once you join our Support channel be as precise as possible when asking a question, because we have no extraordinary powers and can't guess things if they aren't provided.
:The more precise you are the sooner you'll be likely to get an answer. If you think you found a bug, add it to the bug tracking system (http://bugs.anope.org) and - again - be as precise as possible. Also say whether the bug happens always or under what circumstances, and anything that could be useful to track your bug down. If you wrote a patch, send it over. :)
3911142a3f7deec9dc62151f03bb84e1b87fd1e0
550
549
2014-05-04T17:46:29Z
Azander
9
/* fix missing # in links */
wikitext
text/x-wiki
{{Boxes|Anope -- a set of IRC services for IRC networks|}}
{| align="right"
| __TOC__
|}
* Anope is © 2003-2014 Anope Team <team@anope.org>.
* Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
* Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
This program is free but copyrighted software; see the file COPYING for
details.
Information about Anope may be found at http://www.anope.org/
Information about Epona may be found at http://www.epona.org/
Information about Services may be found at http://www.ircservices.esper.net/
== Credits ==
Anope is based on Lara's Epona version 1.4.14.
Epona is based on Andy Church's IRC Services version 4.3.3.
=== The original credits ===
::* Mauritz Antunes -- Portuguese translation
::* Jose R. Holzmann, Raul S. Villarreal -- Spanish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- News system
::* <d.duca@eurcom.net> -- Italian translation
::* <mikado@holyfire.com> -- Turkish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- Session limiting
=== Epona credits ===
::* lara <lara@pegsoft.net> -- Main coding
::* CafeiN <oytuny@yahoo.com> -- Turkish translation
::* Sylvain Cresto aka tost <scresto@netsante.fr> -- FreeBSD 5 patch
::* Marcelo Conde Foscarini aka Bras <ircadmin@brmarket.net> -- Portuguese translation
::* Alvaro Toledo aka POLLITO <atoledo@keldon.org> -- Spanish translation
::* chemical <chemical@musicplay.de> -- German translation
::* shine <dh@shinewelt.de> -- German translation
::* Guven Guzelbey aka MeShGuL <guzelbey@cs.utk.edu> -- Turkish translation
::* Jordi Pujol <jordi.pujol@aujac.org> -- Catalan translation
::* Eva Dachs <evadachs@terra.es> -- Catalan translation
::* Toni Perez <toni.perez@aujac.org> -- Catalan translation
::* Sergios Karalis <sergios_k@hotmail.com> -- Greek translation
::* Thomas J. Stensas aka ShadowMaster <shadowmaster@shadow-realm.org> -- Ultimate 3.x support
=== Anope credits ===
::* Adam Kramer <ribosome@anope.org>
::* Adam <adam@anope.org>
::* Alvaro Toledo <atoledo@keldon.org>
::* Amanda Folson <amanda@anope.org>
::* Andrew Berquist <vash@anope.org>
::* Björn Stiddien <keeper@anope.org>
::* Charles Kingsley <chaz@anope.org>
::* Chris Hogben <heinz@anope.org>
::* Daniel Engel <dane@zero.org>
::* David <dv@diboo.net>
::* David Narayan <jester@phrixus.net>
::* David Robson <rob@anope.org>
::* Daniele Nicolucci <jollino@sogno.net>
::* Florian Schulze <certus@anope.org>
::* Gabriel Acevedo H. <drstein@anope.org>
::* Jan Milants <viper@anope.org>
::* Jens Voss <dukepyrolator@anope.org>
::* JH <jh@irc-chat.net>
::* Joris Vink <joris@anope.org>
::* Lee Holmes <lethality@anope.org>
::* Lucas Nussbaum <lucas@lucas-nussbaum.net>
::* Mark Summers <mark@goopler.net>
::* Matthew Beeching <jobe@invictachat.net>
::* Naram Qashat <cyberbotx@anope.org>
::* Phil Lavin <phil@anope.org>
::* Pieter Bootsma <geniusdex@anope.org>
::* Robin Burchell <w00t@inspircd.org>
::* Sean Roe <therock247uk@anope.org>
::* Sebastian V <hal9000@anope.org>
::* Thomas Juberg Stensås <ShadowMaster@Shadow-Realm.org>
::* Trystan .S Lee <trystan@nomadirc.net>
::* openglx <openglx@brasnerd.com.br>
=== Anope Translations ===
::* Robby <robby@chat.be> (nl_NL)
::* Kein <kein-of@yandex.ru> (ru_RU)
::* Maik Funke <Han@mefalcon.org> (de_DE)
::* Isaac Fontal <i_fontal@hotmail.com> (es_ES)
::* Janos Kapitany <sarkanyka@cjbchat.hu> (hu_HU)
::* Szymon S'wierkosz <szymek@adres.pl> (pl_PL)
::* Christopher N. <saka@epiknet.org> (fr_FR)
::* Yusuf Kurekci <ysfm.20@gmail.com> (tr_TR)
=== Anope Web panel ===
::* Denis M. (Phr33d0m) <god@politeia.in>
== Presentation ==
:Anope is a set of Services for IRC networks that allows users to manage their nicks and channels in a secure and efficient way, and administrators to manage their network with powerful tools.
=== Currently available services are ===
::* [[2.0/Modules#NickServ|NickServ]], a powerful nickname manager that users can use to protect themselves against nick stealing. Each user has its own nickname group, that allows the user to register as many nicks as needed while still being able to take profit of his privileges and to modify the nick configuration. NickServ also has an optional password retrieval feature.
::* [[2.0/Modules#ChanServ|ChanServ]], a powerful channel manager that helps users to administer their channels in a totally customizable way. ChanServ has an internal list of privileged users and banned users that controls accesses on a per-channel basis. It eliminates all takeover problems, because of its powerful op/unban/invite and even mass deop and mass kick functions.
::* [[2.0/Modules#MemoServ|MemoServ]], an helpful companion that allows sending short messages to offline users, that they can then read when they come online later.
::* [[2.0/Modules#BotServ|BotServ]], an original service that allows users to get a permanent, friendly bot on their channels in an easy way. Each bot can be configured to monitor the channels against floods, repetitions, caps writing, and swearing, and to take appropriate actions. It also can handle user-friendly commands (like !op, !deop, !voice, !devoice, !kick, and many others), say a short greet message when an user joins a channel, and even "take over" ChanServ actions such as auto-opping users, saying the entry notice, and so on. This service can be disabled if you want to save some bandwidth.
::* [[2.0/Modules#OperServ|OperServ]], the IRCops' and IRC admins' black box, that allows them to manage the list of network bans (also known as AKILL (DALnet) or GLINE (Undernet)), to configure messages displayed to users when they log on, to set modes and to kick users from any channel, to send notices quickly to the entire network, and much more!
::* [[2.0/Modules#HostServ|HostServ]], a neat service that allows users to show custom vHosts (virtual hosts) instead of their real IP address; this only works on daemons supporting ip cloaking, such as UnrealIRCd.
=== Anope currently works with ===
::* Bahamut 1.4.27 or later (including 1.8)
::* Charybdis 3.4 or later
::* Hybrid 8.1 or later
::* InspIRCd 1.2 or 2.0
::* ngIRCd 19.2 or later
::* Plexus 3 or later
::* Ratbox 2.0.6 or later
::* UnrealIRCd 3.2 or later
Anope could also work with some of the daemons derived by the ones listed above, but there's no support for them if they work or don't work.
== Installation ==
:See the INSTALL file for instruction on installing Anope.
== Command Line Options ==
:Normally, Anope can be run simply by invoking the "services" executable. Any of the following command-line options can be specified to change the behavior of Anope:
:--debug :Enable debugging mode; more info sent to log (give option more times for more info)
:--readonly :Enable read-only mode; no changes to databases allowed
:--nofork :Do not fork after startup; log messages will be written to terminal
:--noexpire :Expiration routines won't be run at all
:--version :Display the version of Anope
:--nothird :Do not load the non-core modules specified
:--protocoldebug :Debug each incoming message after protocol parsing
:--support :Used for support, same as --debug --nofork --nothird
:Upon starting, Anope will parse its command-line parameters then (assuming the --nofork option is not given) detach itself and run in the background. If Anope encounters a problem reading the database files or cannot connect to its uplink server, it will terminate immediately; otherwise, it will run until the connection is terminated (or a QUIT, SHUTDOWN, or RESTART command is sent; see OperServ's help).
:In the case of an error, an appropriate error message will be written to the log file.
:If Anope is run with the "--readonly" command-line option, it can serve as a "backup" to the full version of services. A "full" version of services (run without --readonly) will automatically reintroduce its pseudo-clients (NickServ, ChanServ, etc.), while a "backup" services will not, thus allowing full services to be brought up at any time without disrupting the network (and without having to take backup services down beforehand).
:The "--debug" option is useful if you find or suspect a problem in Anope. Giving it once on the command line will cause all traffic to and from services as well as some other debugging information to be recorded in the log file; if you send a bug report, PLEASE include an excerpt from the log file WITH DEBUGGING ACTIVE; we cannot emphasize enough how important this is to tracking down problems. (You can also enable debugging while Services is running using OperServ's SET DEBUG command.) If you repeat use --debug=<level>, the debugging level will be increased, which provides more detailed information but may also slow Anope down considerably and make the log file grow dramatically faster. In general, a debug level of 1 is sufficient for the coding team to be able to trace a problem, because all network traffic is included and we can usually reproduce the problem.
== Messages Translations ==
:Please see LANGUAGE for this information
== Contact ==
:For announcements and discussions about Anope, please visit our Portal and Forums at [http://www.anope.org/] -- make sure you register yourself to get full benefits.
:If you read the documentation carefully, and didn't find the answer to your question, feel free to post on the website forums or join our irc channel (irc.anope.org #anope). Once you join our Support channel be as precise as possible when asking a question, because we have no extraordinary powers and can't guess things if they aren't provided.
:The more precise you are the sooner you'll be likely to get an answer. If you think you found a bug, add it to the bug tracking system (http://bugs.anope.org) and - again - be as precise as possible. Also say whether the bug happens always or under what circumstances, and anything that could be useful to track your bug down. If you wrote a patch, send it over. :)
[[Category:Anope-2.0.x]]
bca139781dd664e68700624e9592d822456f9bca
549
548
2014-05-04T17:45:27Z
Azander
9
wikitext
text/x-wiki
{{Boxes|Anope -- a set of IRC services for IRC networks|}}
{| align="right"
| __TOC__
|}
* Anope is © 2003-2014 Anope Team <team@anope.org>.
* Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
* Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
This program is free but copyrighted software; see the file COPYING for
details.
Information about Anope may be found at http://www.anope.org/
Information about Epona may be found at http://www.epona.org/
Information about Services may be found at http://www.ircservices.esper.net/
== Credits ==
Anope is based on Lara's Epona version 1.4.14.
Epona is based on Andy Church's IRC Services version 4.3.3.
=== The original credits ===
::* Mauritz Antunes -- Portuguese translation
::* Jose R. Holzmann, Raul S. Villarreal -- Spanish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- News system
::* <d.duca@eurcom.net> -- Italian translation
::* <mikado@holyfire.com> -- Turkish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- Session limiting
=== Epona credits ===
::* lara <lara@pegsoft.net> -- Main coding
::* CafeiN <oytuny@yahoo.com> -- Turkish translation
::* Sylvain Cresto aka tost <scresto@netsante.fr> -- FreeBSD 5 patch
::* Marcelo Conde Foscarini aka Bras <ircadmin@brmarket.net> -- Portuguese translation
::* Alvaro Toledo aka POLLITO <atoledo@keldon.org> -- Spanish translation
::* chemical <chemical@musicplay.de> -- German translation
::* shine <dh@shinewelt.de> -- German translation
::* Guven Guzelbey aka MeShGuL <guzelbey@cs.utk.edu> -- Turkish translation
::* Jordi Pujol <jordi.pujol@aujac.org> -- Catalan translation
::* Eva Dachs <evadachs@terra.es> -- Catalan translation
::* Toni Perez <toni.perez@aujac.org> -- Catalan translation
::* Sergios Karalis <sergios_k@hotmail.com> -- Greek translation
::* Thomas J. Stensas aka ShadowMaster <shadowmaster@shadow-realm.org> -- Ultimate 3.x support
=== Anope credits ===
::* Adam Kramer <ribosome@anope.org>
::* Adam <adam@anope.org>
::* Alvaro Toledo <atoledo@keldon.org>
::* Amanda Folson <amanda@anope.org>
::* Andrew Berquist <vash@anope.org>
::* Björn Stiddien <keeper@anope.org>
::* Charles Kingsley <chaz@anope.org>
::* Chris Hogben <heinz@anope.org>
::* Daniel Engel <dane@zero.org>
::* David <dv@diboo.net>
::* David Narayan <jester@phrixus.net>
::* David Robson <rob@anope.org>
::* Daniele Nicolucci <jollino@sogno.net>
::* Florian Schulze <certus@anope.org>
::* Gabriel Acevedo H. <drstein@anope.org>
::* Jan Milants <viper@anope.org>
::* Jens Voss <dukepyrolator@anope.org>
::* JH <jh@irc-chat.net>
::* Joris Vink <joris@anope.org>
::* Lee Holmes <lethality@anope.org>
::* Lucas Nussbaum <lucas@lucas-nussbaum.net>
::* Mark Summers <mark@goopler.net>
::* Matthew Beeching <jobe@invictachat.net>
::* Naram Qashat <cyberbotx@anope.org>
::* Phil Lavin <phil@anope.org>
::* Pieter Bootsma <geniusdex@anope.org>
::* Robin Burchell <w00t@inspircd.org>
::* Sean Roe <therock247uk@anope.org>
::* Sebastian V <hal9000@anope.org>
::* Thomas Juberg Stensås <ShadowMaster@Shadow-Realm.org>
::* Trystan .S Lee <trystan@nomadirc.net>
::* openglx <openglx@brasnerd.com.br>
=== Anope Translations ===
::* Robby <robby@chat.be> (nl_NL)
::* Kein <kein-of@yandex.ru> (ru_RU)
::* Maik Funke <Han@mefalcon.org> (de_DE)
::* Isaac Fontal <i_fontal@hotmail.com> (es_ES)
::* Janos Kapitany <sarkanyka@cjbchat.hu> (hu_HU)
::* Szymon S'wierkosz <szymek@adres.pl> (pl_PL)
::* Christopher N. <saka@epiknet.org> (fr_FR)
::* Yusuf Kurekci <ysfm.20@gmail.com> (tr_TR)
=== Anope Web panel ===
::* Denis M. (Phr33d0m) <god@politeia.in>
== Presentation ==
:Anope is a set of Services for IRC networks that allows users to manage their nicks and channels in a secure and efficient way, and administrators to manage their network with powerful tools.
=== Currently available services are ===
::* [[2.0/Modules#NickServ|NickServ]], a powerful nickname manager that users can use to protect themselves against nick stealing. Each user has its own nickname group, that allows the user to register as many nicks as needed while still being able to take profit of his privileges and to modify the nick configuration. NickServ also has an optional password retrieval feature.
::* [[2.0/ModulesChanServ|ChanServ]], a powerful channel manager that helps users to administer their channels in a totally customizable way. ChanServ has an internal list of privileged users and banned users that controls accesses on a per-channel basis. It eliminates all takeover problems, because of its powerful op/unban/invite and even mass deop and mass kick functions.
::* [[2.0/ModulesMemoServ|MemoServ]], an helpful companion that allows sending short messages to offline users, that they can then read when they come online later.
::* [[2.0/ModulesBotServ|BotServ]], an original service that allows users to get a permanent, friendly bot on their channels in an easy way. Each bot can be configured to monitor the channels against floods, repetitions, caps writing, and swearing, and to take appropriate actions. It also can handle user-friendly commands (like !op, !deop, !voice, !devoice, !kick, and many others), say a short greet message when an user joins a channel, and even "take over" ChanServ actions such as auto-opping users, saying the entry notice, and so on. This service can be disabled if you want to save some bandwidth.
::* [[2.0/ModulesOperServ|OperServ]], the IRCops' and IRC admins' black box, that allows them to manage the list of network bans (also known as AKILL (DALnet) or GLINE (Undernet)), to configure messages displayed to users when they log on, to set modes and to kick users from any channel, to send notices quickly to the entire network, and much more!
::* [[2.0/ModulesHostServ|HostServ]], a neat service that allows users to show custom vHosts (virtual hosts) instead of their real IP address; this only works on daemons supporting ip cloaking, such as UnrealIRCd.
=== Anope currently works with ===
::* Bahamut 1.4.27 or later (including 1.8)
::* Charybdis 3.4 or later
::* Hybrid 8.1 or later
::* InspIRCd 1.2 or 2.0
::* ngIRCd 19.2 or later
::* Plexus 3 or later
::* Ratbox 2.0.6 or later
::* UnrealIRCd 3.2 or later
Anope could also work with some of the daemons derived by the ones listed above, but there's no support for them if they work or don't work.
== Installation ==
:See the INSTALL file for instruction on installing Anope.
== Command Line Options ==
:Normally, Anope can be run simply by invoking the "services" executable. Any of the following command-line options can be specified to change the behavior of Anope:
:--debug :Enable debugging mode; more info sent to log (give option more times for more info)
:--readonly :Enable read-only mode; no changes to databases allowed
:--nofork :Do not fork after startup; log messages will be written to terminal
:--noexpire :Expiration routines won't be run at all
:--version :Display the version of Anope
:--nothird :Do not load the non-core modules specified
:--protocoldebug :Debug each incoming message after protocol parsing
:--support :Used for support, same as --debug --nofork --nothird
:Upon starting, Anope will parse its command-line parameters then (assuming the --nofork option is not given) detach itself and run in the background. If Anope encounters a problem reading the database files or cannot connect to its uplink server, it will terminate immediately; otherwise, it will run until the connection is terminated (or a QUIT, SHUTDOWN, or RESTART command is sent; see OperServ's help).
:In the case of an error, an appropriate error message will be written to the log file.
:If Anope is run with the "--readonly" command-line option, it can serve as a "backup" to the full version of services. A "full" version of services (run without --readonly) will automatically reintroduce its pseudo-clients (NickServ, ChanServ, etc.), while a "backup" services will not, thus allowing full services to be brought up at any time without disrupting the network (and without having to take backup services down beforehand).
:The "--debug" option is useful if you find or suspect a problem in Anope. Giving it once on the command line will cause all traffic to and from services as well as some other debugging information to be recorded in the log file; if you send a bug report, PLEASE include an excerpt from the log file WITH DEBUGGING ACTIVE; we cannot emphasize enough how important this is to tracking down problems. (You can also enable debugging while Services is running using OperServ's SET DEBUG command.) If you repeat use --debug=<level>, the debugging level will be increased, which provides more detailed information but may also slow Anope down considerably and make the log file grow dramatically faster. In general, a debug level of 1 is sufficient for the coding team to be able to trace a problem, because all network traffic is included and we can usually reproduce the problem.
== Messages Translations ==
:Please see LANGUAGE for this information
== Contact ==
:For announcements and discussions about Anope, please visit our Portal and Forums at [http://www.anope.org/] -- make sure you register yourself to get full benefits.
:If you read the documentation carefully, and didn't find the answer to your question, feel free to post on the website forums or join our irc channel (irc.anope.org #anope). Once you join our Support channel be as precise as possible when asking a question, because we have no extraordinary powers and can't guess things if they aren't provided.
:The more precise you are the sooner you'll be likely to get an answer. If you think you found a bug, add it to the bug tracking system (http://bugs.anope.org) and - again - be as precise as possible. Also say whether the bug happens always or under what circumstances, and anything that could be useful to track your bug down. If you wrote a patch, send it over. :)
[[Category:Anope-2.0.x]]
2836668615802af118ca8084ee824be5baa89a4f
548
541
2014-05-04T17:44:41Z
Azander
9
wikitext
text/x-wiki
{{Boxes|Anope -- a set of IRC services for IRC networks|}}
{| align="right"
| __TOC__
|}
* Anope is © 2003-2014 Anope Team <team@anope.org>.
* Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
* Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
This program is free but copyrighted software; see the file COPYING for
details.
Information about Anope may be found at http://www.anope.org/
Information about Epona may be found at http://www.epona.org/
Information about Services may be found at http://www.ircservices.esper.net/
== Credits ==
Anope is based on Lara's Epona version 1.4.14.
Epona is based on Andy Church's IRC Services version 4.3.3.
=== The original credits ===
::* Mauritz Antunes -- Portuguese translation
::* Jose R. Holzmann, Raul S. Villarreal -- Spanish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- News system
::* <d.duca@eurcom.net> -- Italian translation
::* <mikado@holyfire.com> -- Turkish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- Session limiting
=== Epona credits ===
::* lara <lara@pegsoft.net> -- Main coding
::* CafeiN <oytuny@yahoo.com> -- Turkish translation
::* Sylvain Cresto aka tost <scresto@netsante.fr> -- FreeBSD 5 patch
::* Marcelo Conde Foscarini aka Bras <ircadmin@brmarket.net> -- Portuguese translation
::* Alvaro Toledo aka POLLITO <atoledo@keldon.org> -- Spanish translation
::* chemical <chemical@musicplay.de> -- German translation
::* shine <dh@shinewelt.de> -- German translation
::* Guven Guzelbey aka MeShGuL <guzelbey@cs.utk.edu> -- Turkish translation
::* Jordi Pujol <jordi.pujol@aujac.org> -- Catalan translation
::* Eva Dachs <evadachs@terra.es> -- Catalan translation
::* Toni Perez <toni.perez@aujac.org> -- Catalan translation
::* Sergios Karalis <sergios_k@hotmail.com> -- Greek translation
::* Thomas J. Stensas aka ShadowMaster <shadowmaster@shadow-realm.org> -- Ultimate 3.x support
=== Anope credits ===
::* Adam Kramer <ribosome@anope.org>
::* Adam <adam@anope.org>
::* Alvaro Toledo <atoledo@keldon.org>
::* Amanda Folson <amanda@anope.org>
::* Andrew Berquist <vash@anope.org>
::* Björn Stiddien <keeper@anope.org>
::* Charles Kingsley <chaz@anope.org>
::* Chris Hogben <heinz@anope.org>
::* Daniel Engel <dane@zero.org>
::* David <dv@diboo.net>
::* David Narayan <jester@phrixus.net>
::* David Robson <rob@anope.org>
::* Daniele Nicolucci <jollino@sogno.net>
::* Florian Schulze <certus@anope.org>
::* Gabriel Acevedo H. <drstein@anope.org>
::* Jan Milants <viper@anope.org>
::* Jens Voss <dukepyrolator@anope.org>
::* JH <jh@irc-chat.net>
::* Joris Vink <joris@anope.org>
::* Lee Holmes <lethality@anope.org>
::* Lucas Nussbaum <lucas@lucas-nussbaum.net>
::* Mark Summers <mark@goopler.net>
::* Matthew Beeching <jobe@invictachat.net>
::* Naram Qashat <cyberbotx@anope.org>
::* Phil Lavin <phil@anope.org>
::* Pieter Bootsma <geniusdex@anope.org>
::* Robin Burchell <w00t@inspircd.org>
::* Sean Roe <therock247uk@anope.org>
::* Sebastian V <hal9000@anope.org>
::* Thomas Juberg Stensås <ShadowMaster@Shadow-Realm.org>
::* Trystan .S Lee <trystan@nomadirc.net>
::* openglx <openglx@brasnerd.com.br>
=== Anope Translations ===
::* Robby <robby@chat.be> (nl_NL)
::* Kein <kein-of@yandex.ru> (ru_RU)
::* Maik Funke <Han@mefalcon.org> (de_DE)
::* Isaac Fontal <i_fontal@hotmail.com> (es_ES)
::* Janos Kapitany <sarkanyka@cjbchat.hu> (hu_HU)
::* Szymon S'wierkosz <szymek@adres.pl> (pl_PL)
::* Christopher N. <saka@epiknet.org> (fr_FR)
::* Yusuf Kurekci <ysfm.20@gmail.com> (tr_TR)
=== Anope Web panel ===
::* Denis M. (Phr33d0m) <god@politeia.in>
== Presentation ==
:Anope is a set of Services for IRC networks that allows users to manage their nicks and channels in a secure and efficient way, and administrators to manage their network with powerful tools.
=== Currently available services are ===
::* [[2.0/Modules#NickServ|NickServ]], a powerful nickname manager that users can use to protect themselves against nick stealing. Each user has its own nickname group, that allows the user to register as many nicks as needed while still being able to take profit of his privileges and to modify the nick configuration. NickServ also has an optional password retrieval feature.
::* [[ChanServ|ChanServ]], a powerful channel manager that helps users to administer their channels in a totally customizable way. ChanServ has an internal list of privileged users and banned users that controls accesses on a per-channel basis. It eliminates all takeover problems, because of its powerful op/unban/invite and even mass deop and mass kick functions.
::* [[MemoServ|MemoServ]], an helpful companion that allows sending short messages to offline users, that they can then read when they come online later.
::* [[BotServ|BotServ]], an original service that allows users to get a permanent, friendly bot on their channels in an easy way. Each bot can be configured to monitor the channels against floods, repetitions, caps writing, and swearing, and to take appropriate actions. It also can handle user-friendly commands (like !op, !deop, !voice, !devoice, !kick, and many others), say a short greet message when an user joins a channel, and even "take over" ChanServ actions such as auto-opping users, saying the entry notice, and so on. This service can be disabled if you want to save some bandwidth.
::* [[OperServ|OperServ]], the IRCops' and IRC admins' black box, that allows them to manage the list of network bans (also known as AKILL (DALnet) or GLINE (Undernet)), to configure messages displayed to users when they log on, to set modes and to kick users from any channel, to send notices quickly to the entire network, and much more!
::* [[HostServ|HostServ]], a neat service that allows users to show custom vHosts (virtual hosts) instead of their real IP address; this only works on daemons supporting ip cloaking, such as UnrealIRCd.
=== Anope currently works with ===
::* Bahamut 1.4.27 or later (including 1.8)
::* Charybdis 3.4 or later
::* Hybrid 8.1 or later
::* InspIRCd 1.2 or 2.0
::* ngIRCd 19.2 or later
::* Plexus 3 or later
::* Ratbox 2.0.6 or later
::* UnrealIRCd 3.2 or later
Anope could also work with some of the daemons derived by the ones listed above, but there's no support for them if they work or don't work.
== Installation ==
:See the INSTALL file for instruction on installing Anope.
== Command Line Options ==
:Normally, Anope can be run simply by invoking the "services" executable. Any of the following command-line options can be specified to change the behavior of Anope:
:--debug :Enable debugging mode; more info sent to log (give option more times for more info)
:--readonly :Enable read-only mode; no changes to databases allowed
:--nofork :Do not fork after startup; log messages will be written to terminal
:--noexpire :Expiration routines won't be run at all
:--version :Display the version of Anope
:--nothird :Do not load the non-core modules specified
:--protocoldebug :Debug each incoming message after protocol parsing
:--support :Used for support, same as --debug --nofork --nothird
:Upon starting, Anope will parse its command-line parameters then (assuming the --nofork option is not given) detach itself and run in the background. If Anope encounters a problem reading the database files or cannot connect to its uplink server, it will terminate immediately; otherwise, it will run until the connection is terminated (or a QUIT, SHUTDOWN, or RESTART command is sent; see OperServ's help).
:In the case of an error, an appropriate error message will be written to the log file.
:If Anope is run with the "--readonly" command-line option, it can serve as a "backup" to the full version of services. A "full" version of services (run without --readonly) will automatically reintroduce its pseudo-clients (NickServ, ChanServ, etc.), while a "backup" services will not, thus allowing full services to be brought up at any time without disrupting the network (and without having to take backup services down beforehand).
:The "--debug" option is useful if you find or suspect a problem in Anope. Giving it once on the command line will cause all traffic to and from services as well as some other debugging information to be recorded in the log file; if you send a bug report, PLEASE include an excerpt from the log file WITH DEBUGGING ACTIVE; we cannot emphasize enough how important this is to tracking down problems. (You can also enable debugging while Services is running using OperServ's SET DEBUG command.) If you repeat use --debug=<level>, the debugging level will be increased, which provides more detailed information but may also slow Anope down considerably and make the log file grow dramatically faster. In general, a debug level of 1 is sufficient for the coding team to be able to trace a problem, because all network traffic is included and we can usually reproduce the problem.
== Messages Translations ==
:Please see LANGUAGE for this information
== Contact ==
:For announcements and discussions about Anope, please visit our Portal and Forums at [http://www.anope.org/] -- make sure you register yourself to get full benefits.
:If you read the documentation carefully, and didn't find the answer to your question, feel free to post on the website forums or join our irc channel (irc.anope.org #anope). Once you join our Support channel be as precise as possible when asking a question, because we have no extraordinary powers and can't guess things if they aren't provided.
:The more precise you are the sooner you'll be likely to get an answer. If you think you found a bug, add it to the bug tracking system (http://bugs.anope.org) and - again - be as precise as possible. Also say whether the bug happens always or under what circumstances, and anything that could be useful to track your bug down. If you wrote a patch, send it over. :)
[[Category:Anope-2.0.x]]
9a5061ed13fff908b4a393bede771a5f93d6b51c
541
2014-05-04T17:25:08Z
Azander
9
/* Added README file */
wikitext
text/x-wiki
{{Boxes|Anope -- a set of IRC services for IRC networks|}}
{| align="right"
| __TOC__
|}
* Anope is © 2003-2014 Anope Team <team@anope.org>.
* Based on Epona 2000-2002 PegSoft <epona@pegsoft.net>.
* Based on Services 1996-1999 Andrew Church <achurch@achurch.org>.
This program is free but copyrighted software; see the file COPYING for
details.
Information about Anope may be found at http://www.anope.org/
Information about Epona may be found at http://www.epona.org/
Information about Services may be found at http://www.ircservices.esper.net/
== Credits ==
Anope is based on Lara's Epona version 1.4.14.
Epona is based on Andy Church's IRC Services version 4.3.3.
=== The original credits ===
::* Mauritz Antunes -- Portuguese translation
::* Jose R. Holzmann, Raul S. Villarreal -- Spanish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- News system
::* <d.duca@eurcom.net> -- Italian translation
::* <mikado@holyfire.com> -- Turkish translation
::* Andrew Kempe <theshadow@shadowfire.org> -- Session limiting
=== Epona credits ===
::* lara <lara@pegsoft.net> -- Main coding
::* CafeiN <oytuny@yahoo.com> -- Turkish translation
::* Sylvain Cresto aka tost <scresto@netsante.fr> -- FreeBSD 5 patch
::* Marcelo Conde Foscarini aka Bras <ircadmin@brmarket.net> -- Portuguese translation
::* Alvaro Toledo aka POLLITO <atoledo@keldon.org> -- Spanish translation
::* chemical <chemical@musicplay.de> -- German translation
::* shine <dh@shinewelt.de> -- German translation
::* Guven Guzelbey aka MeShGuL <guzelbey@cs.utk.edu> -- Turkish translation
::* Jordi Pujol <jordi.pujol@aujac.org> -- Catalan translation
::* Eva Dachs <evadachs@terra.es> -- Catalan translation
::* Toni Perez <toni.perez@aujac.org> -- Catalan translation
::* Sergios Karalis <sergios_k@hotmail.com> -- Greek translation
::* Thomas J. Stensas aka ShadowMaster <shadowmaster@shadow-realm.org> -- Ultimate 3.x support
=== Anope credits ===
::* Adam Kramer <ribosome@anope.org>
::* Adam <adam@anope.org>
::* Alvaro Toledo <atoledo@keldon.org>
::* Amanda Folson <amanda@anope.org>
::* Andrew Berquist <vash@anope.org>
::* Björn Stiddien <keeper@anope.org>
::* Charles Kingsley <chaz@anope.org>
::* Chris Hogben <heinz@anope.org>
::* Daniel Engel <dane@zero.org>
::* David <dv@diboo.net>
::* David Narayan <jester@phrixus.net>
::* David Robson <rob@anope.org>
::* Daniele Nicolucci <jollino@sogno.net>
::* Florian Schulze <certus@anope.org>
::* Gabriel Acevedo H. <drstein@anope.org>
::* Jan Milants <viper@anope.org>
::* Jens Voss <dukepyrolator@anope.org>
::* JH <jh@irc-chat.net>
::* Joris Vink <joris@anope.org>
::* Lee Holmes <lethality@anope.org>
::* Lucas Nussbaum <lucas@lucas-nussbaum.net>
::* Mark Summers <mark@goopler.net>
::* Matthew Beeching <jobe@invictachat.net>
::* Naram Qashat <cyberbotx@anope.org>
::* Phil Lavin <phil@anope.org>
::* Pieter Bootsma <geniusdex@anope.org>
::* Robin Burchell <w00t@inspircd.org>
::* Sean Roe <therock247uk@anope.org>
::* Sebastian V <hal9000@anope.org>
::* Thomas Juberg Stensås <ShadowMaster@Shadow-Realm.org>
::* Trystan .S Lee <trystan@nomadirc.net>
::* openglx <openglx@brasnerd.com.br>
=== Anope Translations ===
::* Robby <robby@chat.be> (nl_NL)
::* Kein <kein-of@yandex.ru> (ru_RU)
::* Maik Funke <Han@mefalcon.org> (de_DE)
::* Isaac Fontal <i_fontal@hotmail.com> (es_ES)
::* Janos Kapitany <sarkanyka@cjbchat.hu> (hu_HU)
::* Szymon S'wierkosz <szymek@adres.pl> (pl_PL)
::* Christopher N. <saka@epiknet.org> (fr_FR)
::* Yusuf Kurekci <ysfm.20@gmail.com> (tr_TR)
=== Anope Web panel ===
::* Denis M. (Phr33d0m) <god@politeia.in>
== Presentation ==
:Anope is a set of Services for IRC networks that allows users to manage their nicks and channels in a secure and efficient way, and administrators to manage their network with powerful tools.
=== Currently available services are ===
::* [[NickServ|NickServ]], a powerful nickname manager that users can use to protect themselves against nick stealing. Each user has its own nickname group, that allows the user to register as many nicks as needed while still being able to take profit of his privileges and to modify the nick configuration. NickServ also has an optional password retrieval feature.
::* [[ChanServ|ChanServ]], a powerful channel manager that helps users to administer their channels in a totally customizable way. ChanServ has an internal list of privileged users and banned users that controls accesses on a per-channel basis. It eliminates all takeover problems, because of its powerful op/unban/invite and even mass deop and mass kick functions.
::* [[MemoServ|MemoServ]], an helpful companion that allows sending short messages to offline users, that they can then read when they come online later.
::* [[BotServ|BotServ]], an original service that allows users to get a permanent, friendly bot on their channels in an easy way. Each bot can be configured to monitor the channels against floods, repetitions, caps writing, and swearing, and to take appropriate actions. It also can handle user-friendly commands (like !op, !deop, !voice, !devoice, !kick, and many others), say a short greet message when an user joins a channel, and even "take over" ChanServ actions such as auto-opping users, saying the entry notice, and so on. This service can be disabled if you want to save some bandwidth.
::* [[OperServ|OperServ]], the IRCops' and IRC admins' black box, that allows them to manage the list of network bans (also known as AKILL (DALnet) or GLINE (Undernet)), to configure messages displayed to users when they log on, to set modes and to kick users from any channel, to send notices quickly to the entire network, and much more!
::* [[HostServ|HostServ]], a neat service that allows users to show custom vHosts (virtual hosts) instead of their real IP address; this only works on daemons supporting ip cloaking, such as UnrealIRCd.
=== Anope currently works with ===
::* Bahamut 1.4.27 or later (including 1.8)
::* Charybdis 3.4 or later
::* Hybrid 8.1 or later
::* InspIRCd 1.2 or 2.0
::* ngIRCd 19.2 or later
::* Plexus 3 or later
::* Ratbox 2.0.6 or later
::* UnrealIRCd 3.2 or later
Anope could also work with some of the daemons derived by the ones listed above, but there's no support for them if they work or don't work.
== Installation ==
:See the INSTALL file for instruction on installing Anope.
== Command Line Options ==
:Normally, Anope can be run simply by invoking the "services" executable. Any of the following command-line options can be specified to change the behavior of Anope:
:--debug :Enable debugging mode; more info sent to log (give option more times for more info)
:--readonly :Enable read-only mode; no changes to databases allowed
:--nofork :Do not fork after startup; log messages will be written to terminal
:--noexpire :Expiration routines won't be run at all
:--version :Display the version of Anope
:--nothird :Do not load the non-core modules specified
:--protocoldebug :Debug each incoming message after protocol parsing
:--support :Used for support, same as --debug --nofork --nothird
:Upon starting, Anope will parse its command-line parameters then (assuming the --nofork option is not given) detach itself and run in the background. If Anope encounters a problem reading the database files or cannot connect to its uplink server, it will terminate immediately; otherwise, it will run until the connection is terminated (or a QUIT, SHUTDOWN, or RESTART command is sent; see OperServ's help).
:In the case of an error, an appropriate error message will be written to the log file.
:If Anope is run with the "--readonly" command-line option, it can serve as a "backup" to the full version of services. A "full" version of services (run without --readonly) will automatically reintroduce its pseudo-clients (NickServ, ChanServ, etc.), while a "backup" services will not, thus allowing full services to be brought up at any time without disrupting the network (and without having to take backup services down beforehand).
:The "--debug" option is useful if you find or suspect a problem in Anope. Giving it once on the command line will cause all traffic to and from services as well as some other debugging information to be recorded in the log file; if you send a bug report, PLEASE include an excerpt from the log file WITH DEBUGGING ACTIVE; we cannot emphasize enough how important this is to tracking down problems. (You can also enable debugging while Services is running using OperServ's SET DEBUG command.) If you repeat use --debug=<level>, the debugging level will be increased, which provides more detailed information but may also slow Anope down considerably and make the log file grow dramatically faster. In general, a debug level of 1 is sufficient for the coding team to be able to trace a problem, because all network traffic is included and we can usually reproduce the problem.
== Messages Translations ==
:Please see LANGUAGE for this information
== Contact ==
:For announcements and discussions about Anope, please visit our Portal and Forums at [http://www.anope.org/] -- make sure you register yourself to get full benefits.
:If you read the documentation carefully, and didn't find the answer to your question, feel free to post on the website forums or join our irc channel (irc.anope.org #anope). Once you join our Support channel be as precise as possible when asking a question, because we have no extraordinary powers and can't guess things if they aren't provided.
:The more precise you are the sooner you'll be likely to get an answer. If you think you found a bug, add it to the bug tracking system (http://bugs.anope.org) and - again - be as precise as possible. Also say whether the bug happens always or under what circumstances, and anything that could be useful to track your bug down. If you wrote a patch, send it over. :)
[[Category:Anope-2.0.x]]
4433874fbe4e60bcc31ec434f5edf234211cb2a2
ChanServ
0
237
1136
1135
2015-04-22T01:52:37Z
Azander
9
/* Entrymsg */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The /msg ChanServ ACCESS #channel ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The /msg ChanServ ACCESS #channel DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The /msg ChanServ ACCESS #channel LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and
::7 through 9.
The /msg ChanServ ACCESS #channel VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The /msg ChanServ ACCESS #channel CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
===Syntax===
:/msg ChanServ ACCESS #channel_name ADD Nick_or_hostmask level_flag_or_xOP
:/msg ChanServ ACCESS #channel_name DEL Nick_or_hostmask
:/msg ChanServ ACCESS #channel_name LIST Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name VIEW Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name CLEAR
===Examples===
:/msg ChanServ ACCESS #Bedroom ADD Marge SOP
:/msg ChanServ ACCESS #Kitchen DEL Glen
:/msg ChanServ ACCESS #Basement LIST
:/msg ChanServ ACCESS #Basement VIEW 4,7
:/msg ChanServ ACCESS #Basement CLEAR
== <div class="moduleheader">Akick</div> ==
Maintains the AutoKick list for a channel. If a user on the AutoKick list attempts to join the channel, ChanServ will ban that user from the channel, then kick the user.
===Syntax===
:;/msg ChanServ AKICK #channel_name ADD Nick_or_hostmask Optional_Reason :Adds the given nick or usermask to the AutoKick list. If a reason is given with the command, that reason will be used when the user is kicked; if not, the default reason is "User has been banned from the channel".
::When akicking a registered nick the NickServ account will be added to the akick list instead of the mask. All users within that nickgroup will then be akicked.
:;/msg ChanServ AKICK #channel_name DEL Nick_or_hostmask_or_entry-Number_or_list :Removes the given nick or mask from the AutoKick list. It does not, however, remove any bans placed by an AutoKick; those must be removed manually.
:;/msg ChanServ AKICK #channel_name LIST optional_nick_or_hostmask_or_list :Displays the AutoKick list, or optionally only those AutoKick entries which match the given mask.
:;/msg ChanServ AKICK #channel_name VIEW Optional_nick_or_hostmask_or_entry_number_or_list :A more verbose version of the AKICK LIST command.
:;/msg ChanServ AKICK #channel_name ENFORCE :Causes ChanServ to enforce the current AKICK list by removing those users who match an AKICK mask.
:;/msg ChanServ AKICK #channel_name CLEAR :Clears all entries of the akick list.
===Examples===
:/msg ChanServ AKICK #nightmare ADD Dream_walker Bad person
:/msg ChanServ AKICK #nightmare DEL Freddy
:/msg ChanServ AKICK #nightmare LIST 1-4
:/msg ChanServ AKICK #kitchen VIEW
:/msg ChanServ AKICK #Bedroom ENFORCE
:/msg ChanServ AKICK #house CLEAR
== <div class="moduleheader">Aop</div> ==
Maintains the AOP list for a channel. Users who match an access entry
on the AOP list receive the following privileges (see /msg ChanServ SET for details):
:GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC
The AOP ADD command adds the given nickname to the AOP list.
The AOP DEL command removes the given nick from the AOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
The AOP LIST command displays the AOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:/msg ChanServ AOP #channel LIST 2-5,7-9
::Lists AOP entries numbered 2 through 5 and 7 through 9.
The AOP CLEAR command clears all entries of the AOP list.
'''Note''': Alternative methods of modifying channel access lists are available. See /msg ChanServ HELP FLAGS for more information about the access list.
===Syntax===
:/msg ChanServ AOP #channel ADD Hostmask_or_nick
:/msg ChanServ AOP #channel DEL Hostmask_or_nick_or_entrynumber_or_list
:/msg ChanServ AOP #channel LIST Optional_Hostmask_or_nick_or_list
:/msg ChanServ AOP #channel CLEAR
===Examples===
:/msg ChanServ AOP #DreamScape ADD Freddy@dreamwalker.org
:/msg ChanServ AOP #Basement DEL Jason@teenager.life
:/msg ChanServ AOP #DreamScape LIST 1-10
:/msg ChanServ AOP #ElmStreet CLEAR
== <div class="moduleheader">[Un]Ban</div> ==
Bans a given nick or mask on a channel. An optional expiry may be given to cause services to automatically remove the ban after a set amount of time. The Expiry time must start with a '+' symbol. You need to specify the time using 's' for seconds, 'm' for minutes, or 'd' for days.
By default, limited to AOPs or those with level 5 access and above on the channel. Channel founders may ban masks.
The Unban command tells ChanServ to remove all bans preventing you or the given user from entering the given channel. If no channel is given, all bans affecting you in channels you have access in are removed.
By default, limited to AOPs or those with level 5 access and above on the channel.
===Syntax===
:/msg ChanServ BAN #channel +Optional_expire_duration nick_or_hostmask Optional_reason
:/msg ChanServ UNBAN #channel Optional_nick
===Examples===
:/msg ChanServ BAN #bathroom +3d Fred
:/msg ChanServ UNBAN #gameroom Julie
== <div class="moduleheader">Clone</div> ==
Copies all settings, access, akicks, etc from channel to the target channel. If what is ACCESS, AKICK, BADWORDS, or LEVELS then only the respective settings are cloned.
'''NOTE''': You must be the founder of the original channel and the target channel.
===Syntax===
:/msg ChanServ CLONE #Original_channel #Target_Channel Optional_what_to_clone
===Examples===
:/msg ChanServ CLONE #FrontRoom #Basement
== <div class="moduleheader">Down</div> ==
Removes a selected nicks status modes on a channel. If nick is ommited then your status is removed. If channel is ommited then your channel status is removed on every channel you are in.
'''NOTE''': If you specify a nick, you must specify the channel.
===Syntax===
:/msg ChanServ DOWN #optional_Channel Optional_Nick
===Examples===
:/msg ChanServ DOWN #Basement FreddyK
== <div class="moduleheader">Drop</div> ==
Unregisters the specified channel.
IRC Operators with the proper permissions can drop a channel of which they are not the founder of.
'''Note''': You must enter the channel name twice as a confirmation that you wish to drop the channel.
===Syntax===
:/msg ChanServ DROP #channel_name #channel_name_again
===Examples===
:/msg ChanServ DROP #Playroom #Playroom
== <div class="moduleheader">Enforce</div> ==
Enforce various channel modes and set options. The channel option indicates what channel to enforce the modes and options on. The what option indicates what modes and options to enforce, and can be any of SECUREOPS, RESTRICTED, REGONLY, SSLONLY, BANS, or LIMIT.
Use SECUREOPS to enforce the SECUREOPS option, even if it is not enabled. Use RESTRICTED to enfore the RESTRICTED option, also if it's not enabled. Use REGONLY to kick all unregistered users from the channel. Use SSLONLY to kick all users not using a secure connection from the channel. BANS will enforce bans on the channel by kicking users affected by them, and LIMIT will kick users until the user count drops below the channel limit, if one is set.
===Syntax===
:/msg ChanServ ENFORCE #channel_name What_to_enfoce
===Examples===
:/msg ChanServ ENFORCE #Basement SECUREOPS
:/msg ChanServ ENFORCE #Porch REGONLY
== <div class="moduleheader">Entrymsg</div> ==
Controls what messages will be sent to users when they join the channel.
Adding, deleting, or clearing entry messages requires the proper SET user level in the channel's access list
===Syntax===
:;/msg ChanServ ENTRYMSG #channel_name ADD message :Adds the given message to the list of messages shown to users when they join the channel.
:;/msg ChanServ ENTRYMSG #channel_name DEL entry_number :Removes the specified message from the list of messages shown to users when they join the channel. You can remove a message by specifying its number which you can get by listing the messages as explained below.
:;/msg ChanServ ENTRYMSG #channel_name LIST :Displays a listing of messages shown to users when they join the channel.
:;/msg ChanServ ENTRYMSG $channel_name CLEAR :Clears all entries from the list of messages shown to users when they join the channel, effectively disabling entry messages.
===Examples===
:/msg ChanServ ENTRYMSG #ElmStreet ADD Welcome to my nightmare!
:/msg ChanServ ENTRYMSG #ElmStreet DEL 2
:/msg ChanServ ENTRYMSG #Basement LIST
:/msg ChanServ ENTRYMSG #House CLEAR
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname, and must have channel op status in the channel.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
a9fd9dd92ae76c84ce5bfbdd5a442522b307a8e2
1135
1134
2015-04-22T01:47:29Z
Azander
9
/* Enforce */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The /msg ChanServ ACCESS #channel ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The /msg ChanServ ACCESS #channel DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The /msg ChanServ ACCESS #channel LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and
::7 through 9.
The /msg ChanServ ACCESS #channel VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The /msg ChanServ ACCESS #channel CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
===Syntax===
:/msg ChanServ ACCESS #channel_name ADD Nick_or_hostmask level_flag_or_xOP
:/msg ChanServ ACCESS #channel_name DEL Nick_or_hostmask
:/msg ChanServ ACCESS #channel_name LIST Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name VIEW Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name CLEAR
===Examples===
:/msg ChanServ ACCESS #Bedroom ADD Marge SOP
:/msg ChanServ ACCESS #Kitchen DEL Glen
:/msg ChanServ ACCESS #Basement LIST
:/msg ChanServ ACCESS #Basement VIEW 4,7
:/msg ChanServ ACCESS #Basement CLEAR
== <div class="moduleheader">Akick</div> ==
Maintains the AutoKick list for a channel. If a user on the AutoKick list attempts to join the channel, ChanServ will ban that user from the channel, then kick the user.
===Syntax===
:;/msg ChanServ AKICK #channel_name ADD Nick_or_hostmask Optional_Reason :Adds the given nick or usermask to the AutoKick list. If a reason is given with the command, that reason will be used when the user is kicked; if not, the default reason is "User has been banned from the channel".
::When akicking a registered nick the NickServ account will be added to the akick list instead of the mask. All users within that nickgroup will then be akicked.
:;/msg ChanServ AKICK #channel_name DEL Nick_or_hostmask_or_entry-Number_or_list :Removes the given nick or mask from the AutoKick list. It does not, however, remove any bans placed by an AutoKick; those must be removed manually.
:;/msg ChanServ AKICK #channel_name LIST optional_nick_or_hostmask_or_list :Displays the AutoKick list, or optionally only those AutoKick entries which match the given mask.
:;/msg ChanServ AKICK #channel_name VIEW Optional_nick_or_hostmask_or_entry_number_or_list :A more verbose version of the AKICK LIST command.
:;/msg ChanServ AKICK #channel_name ENFORCE :Causes ChanServ to enforce the current AKICK list by removing those users who match an AKICK mask.
:;/msg ChanServ AKICK #channel_name CLEAR :Clears all entries of the akick list.
===Examples===
:/msg ChanServ AKICK #nightmare ADD Dream_walker Bad person
:/msg ChanServ AKICK #nightmare DEL Freddy
:/msg ChanServ AKICK #nightmare LIST 1-4
:/msg ChanServ AKICK #kitchen VIEW
:/msg ChanServ AKICK #Bedroom ENFORCE
:/msg ChanServ AKICK #house CLEAR
== <div class="moduleheader">Aop</div> ==
Maintains the AOP list for a channel. Users who match an access entry
on the AOP list receive the following privileges (see /msg ChanServ SET for details):
:GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC
The AOP ADD command adds the given nickname to the AOP list.
The AOP DEL command removes the given nick from the AOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
The AOP LIST command displays the AOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:/msg ChanServ AOP #channel LIST 2-5,7-9
::Lists AOP entries numbered 2 through 5 and 7 through 9.
The AOP CLEAR command clears all entries of the AOP list.
'''Note''': Alternative methods of modifying channel access lists are available. See /msg ChanServ HELP FLAGS for more information about the access list.
===Syntax===
:/msg ChanServ AOP #channel ADD Hostmask_or_nick
:/msg ChanServ AOP #channel DEL Hostmask_or_nick_or_entrynumber_or_list
:/msg ChanServ AOP #channel LIST Optional_Hostmask_or_nick_or_list
:/msg ChanServ AOP #channel CLEAR
===Examples===
:/msg ChanServ AOP #DreamScape ADD Freddy@dreamwalker.org
:/msg ChanServ AOP #Basement DEL Jason@teenager.life
:/msg ChanServ AOP #DreamScape LIST 1-10
:/msg ChanServ AOP #ElmStreet CLEAR
== <div class="moduleheader">[Un]Ban</div> ==
Bans a given nick or mask on a channel. An optional expiry may be given to cause services to automatically remove the ban after a set amount of time. The Expiry time must start with a '+' symbol. You need to specify the time using 's' for seconds, 'm' for minutes, or 'd' for days.
By default, limited to AOPs or those with level 5 access and above on the channel. Channel founders may ban masks.
The Unban command tells ChanServ to remove all bans preventing you or the given user from entering the given channel. If no channel is given, all bans affecting you in channels you have access in are removed.
By default, limited to AOPs or those with level 5 access and above on the channel.
===Syntax===
:/msg ChanServ BAN #channel +Optional_expire_duration nick_or_hostmask Optional_reason
:/msg ChanServ UNBAN #channel Optional_nick
===Examples===
:/msg ChanServ BAN #bathroom +3d Fred
:/msg ChanServ UNBAN #gameroom Julie
== <div class="moduleheader">Clone</div> ==
Copies all settings, access, akicks, etc from channel to the target channel. If what is ACCESS, AKICK, BADWORDS, or LEVELS then only the respective settings are cloned.
'''NOTE''': You must be the founder of the original channel and the target channel.
===Syntax===
:/msg ChanServ CLONE #Original_channel #Target_Channel Optional_what_to_clone
===Examples===
:/msg ChanServ CLONE #FrontRoom #Basement
== <div class="moduleheader">Down</div> ==
Removes a selected nicks status modes on a channel. If nick is ommited then your status is removed. If channel is ommited then your channel status is removed on every channel you are in.
'''NOTE''': If you specify a nick, you must specify the channel.
===Syntax===
:/msg ChanServ DOWN #optional_Channel Optional_Nick
===Examples===
:/msg ChanServ DOWN #Basement FreddyK
== <div class="moduleheader">Drop</div> ==
Unregisters the specified channel.
IRC Operators with the proper permissions can drop a channel of which they are not the founder of.
'''Note''': You must enter the channel name twice as a confirmation that you wish to drop the channel.
===Syntax===
:/msg ChanServ DROP #channel_name #channel_name_again
===Examples===
:/msg ChanServ DROP #Playroom #Playroom
== <div class="moduleheader">Enforce</div> ==
Enforce various channel modes and set options. The channel option indicates what channel to enforce the modes and options on. The what option indicates what modes and options to enforce, and can be any of SECUREOPS, RESTRICTED, REGONLY, SSLONLY, BANS, or LIMIT.
Use SECUREOPS to enforce the SECUREOPS option, even if it is not enabled. Use RESTRICTED to enfore the RESTRICTED option, also if it's not enabled. Use REGONLY to kick all unregistered users from the channel. Use SSLONLY to kick all users not using a secure connection from the channel. BANS will enforce bans on the channel by kicking users affected by them, and LIMIT will kick users until the user count drops below the channel limit, if one is set.
===Syntax===
:/msg ChanServ ENFORCE #channel_name What_to_enfoce
===Examples===
:/msg ChanServ ENFORCE #Basement SECUREOPS
:/msg ChanServ ENFORCE #Porch REGONLY
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname, and must have channel op status in the channel.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
37c872650b251ca5c20a130221395092836f1300
1134
1133
2015-04-20T00:52:56Z
Azander
9
/* Drop */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The /msg ChanServ ACCESS #channel ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The /msg ChanServ ACCESS #channel DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The /msg ChanServ ACCESS #channel LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and
::7 through 9.
The /msg ChanServ ACCESS #channel VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The /msg ChanServ ACCESS #channel CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
===Syntax===
:/msg ChanServ ACCESS #channel_name ADD Nick_or_hostmask level_flag_or_xOP
:/msg ChanServ ACCESS #channel_name DEL Nick_or_hostmask
:/msg ChanServ ACCESS #channel_name LIST Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name VIEW Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name CLEAR
===Examples===
:/msg ChanServ ACCESS #Bedroom ADD Marge SOP
:/msg ChanServ ACCESS #Kitchen DEL Glen
:/msg ChanServ ACCESS #Basement LIST
:/msg ChanServ ACCESS #Basement VIEW 4,7
:/msg ChanServ ACCESS #Basement CLEAR
== <div class="moduleheader">Akick</div> ==
Maintains the AutoKick list for a channel. If a user on the AutoKick list attempts to join the channel, ChanServ will ban that user from the channel, then kick the user.
===Syntax===
:;/msg ChanServ AKICK #channel_name ADD Nick_or_hostmask Optional_Reason :Adds the given nick or usermask to the AutoKick list. If a reason is given with the command, that reason will be used when the user is kicked; if not, the default reason is "User has been banned from the channel".
::When akicking a registered nick the NickServ account will be added to the akick list instead of the mask. All users within that nickgroup will then be akicked.
:;/msg ChanServ AKICK #channel_name DEL Nick_or_hostmask_or_entry-Number_or_list :Removes the given nick or mask from the AutoKick list. It does not, however, remove any bans placed by an AutoKick; those must be removed manually.
:;/msg ChanServ AKICK #channel_name LIST optional_nick_or_hostmask_or_list :Displays the AutoKick list, or optionally only those AutoKick entries which match the given mask.
:;/msg ChanServ AKICK #channel_name VIEW Optional_nick_or_hostmask_or_entry_number_or_list :A more verbose version of the AKICK LIST command.
:;/msg ChanServ AKICK #channel_name ENFORCE :Causes ChanServ to enforce the current AKICK list by removing those users who match an AKICK mask.
:;/msg ChanServ AKICK #channel_name CLEAR :Clears all entries of the akick list.
===Examples===
:/msg ChanServ AKICK #nightmare ADD Dream_walker Bad person
:/msg ChanServ AKICK #nightmare DEL Freddy
:/msg ChanServ AKICK #nightmare LIST 1-4
:/msg ChanServ AKICK #kitchen VIEW
:/msg ChanServ AKICK #Bedroom ENFORCE
:/msg ChanServ AKICK #house CLEAR
== <div class="moduleheader">Aop</div> ==
Maintains the AOP list for a channel. Users who match an access entry
on the AOP list receive the following privileges (see /msg ChanServ SET for details):
:GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC
The AOP ADD command adds the given nickname to the AOP list.
The AOP DEL command removes the given nick from the AOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
The AOP LIST command displays the AOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:/msg ChanServ AOP #channel LIST 2-5,7-9
::Lists AOP entries numbered 2 through 5 and 7 through 9.
The AOP CLEAR command clears all entries of the AOP list.
'''Note''': Alternative methods of modifying channel access lists are available. See /msg ChanServ HELP FLAGS for more information about the access list.
===Syntax===
:/msg ChanServ AOP #channel ADD Hostmask_or_nick
:/msg ChanServ AOP #channel DEL Hostmask_or_nick_or_entrynumber_or_list
:/msg ChanServ AOP #channel LIST Optional_Hostmask_or_nick_or_list
:/msg ChanServ AOP #channel CLEAR
===Examples===
:/msg ChanServ AOP #DreamScape ADD Freddy@dreamwalker.org
:/msg ChanServ AOP #Basement DEL Jason@teenager.life
:/msg ChanServ AOP #DreamScape LIST 1-10
:/msg ChanServ AOP #ElmStreet CLEAR
== <div class="moduleheader">[Un]Ban</div> ==
Bans a given nick or mask on a channel. An optional expiry may be given to cause services to automatically remove the ban after a set amount of time. The Expiry time must start with a '+' symbol. You need to specify the time using 's' for seconds, 'm' for minutes, or 'd' for days.
By default, limited to AOPs or those with level 5 access and above on the channel. Channel founders may ban masks.
The Unban command tells ChanServ to remove all bans preventing you or the given user from entering the given channel. If no channel is given, all bans affecting you in channels you have access in are removed.
By default, limited to AOPs or those with level 5 access and above on the channel.
===Syntax===
:/msg ChanServ BAN #channel +Optional_expire_duration nick_or_hostmask Optional_reason
:/msg ChanServ UNBAN #channel Optional_nick
===Examples===
:/msg ChanServ BAN #bathroom +3d Fred
:/msg ChanServ UNBAN #gameroom Julie
== <div class="moduleheader">Clone</div> ==
Copies all settings, access, akicks, etc from channel to the target channel. If what is ACCESS, AKICK, BADWORDS, or LEVELS then only the respective settings are cloned.
'''NOTE''': You must be the founder of the original channel and the target channel.
===Syntax===
:/msg ChanServ CLONE #Original_channel #Target_Channel Optional_what_to_clone
===Examples===
:/msg ChanServ CLONE #FrontRoom #Basement
== <div class="moduleheader">Down</div> ==
Removes a selected nicks status modes on a channel. If nick is ommited then your status is removed. If channel is ommited then your channel status is removed on every channel you are in.
'''NOTE''': If you specify a nick, you must specify the channel.
===Syntax===
:/msg ChanServ DOWN #optional_Channel Optional_Nick
===Examples===
:/msg ChanServ DOWN #Basement FreddyK
== <div class="moduleheader">Drop</div> ==
Unregisters the specified channel.
IRC Operators with the proper permissions can drop a channel of which they are not the founder of.
'''Note''': You must enter the channel name twice as a confirmation that you wish to drop the channel.
===Syntax===
:/msg ChanServ DROP #channel_name #channel_name_again
===Examples===
:/msg ChanServ DROP #Playroom #Playroom
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname, and must have channel op status in the channel.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
fa5419dbc1cbc817adb350c1e34636cc79f7fc79
1133
1132
2015-04-20T00:37:57Z
Azander
9
/* Down */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The /msg ChanServ ACCESS #channel ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The /msg ChanServ ACCESS #channel DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The /msg ChanServ ACCESS #channel LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and
::7 through 9.
The /msg ChanServ ACCESS #channel VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The /msg ChanServ ACCESS #channel CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
===Syntax===
:/msg ChanServ ACCESS #channel_name ADD Nick_or_hostmask level_flag_or_xOP
:/msg ChanServ ACCESS #channel_name DEL Nick_or_hostmask
:/msg ChanServ ACCESS #channel_name LIST Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name VIEW Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name CLEAR
===Examples===
:/msg ChanServ ACCESS #Bedroom ADD Marge SOP
:/msg ChanServ ACCESS #Kitchen DEL Glen
:/msg ChanServ ACCESS #Basement LIST
:/msg ChanServ ACCESS #Basement VIEW 4,7
:/msg ChanServ ACCESS #Basement CLEAR
== <div class="moduleheader">Akick</div> ==
Maintains the AutoKick list for a channel. If a user on the AutoKick list attempts to join the channel, ChanServ will ban that user from the channel, then kick the user.
===Syntax===
:;/msg ChanServ AKICK #channel_name ADD Nick_or_hostmask Optional_Reason :Adds the given nick or usermask to the AutoKick list. If a reason is given with the command, that reason will be used when the user is kicked; if not, the default reason is "User has been banned from the channel".
::When akicking a registered nick the NickServ account will be added to the akick list instead of the mask. All users within that nickgroup will then be akicked.
:;/msg ChanServ AKICK #channel_name DEL Nick_or_hostmask_or_entry-Number_or_list :Removes the given nick or mask from the AutoKick list. It does not, however, remove any bans placed by an AutoKick; those must be removed manually.
:;/msg ChanServ AKICK #channel_name LIST optional_nick_or_hostmask_or_list :Displays the AutoKick list, or optionally only those AutoKick entries which match the given mask.
:;/msg ChanServ AKICK #channel_name VIEW Optional_nick_or_hostmask_or_entry_number_or_list :A more verbose version of the AKICK LIST command.
:;/msg ChanServ AKICK #channel_name ENFORCE :Causes ChanServ to enforce the current AKICK list by removing those users who match an AKICK mask.
:;/msg ChanServ AKICK #channel_name CLEAR :Clears all entries of the akick list.
===Examples===
:/msg ChanServ AKICK #nightmare ADD Dream_walker Bad person
:/msg ChanServ AKICK #nightmare DEL Freddy
:/msg ChanServ AKICK #nightmare LIST 1-4
:/msg ChanServ AKICK #kitchen VIEW
:/msg ChanServ AKICK #Bedroom ENFORCE
:/msg ChanServ AKICK #house CLEAR
== <div class="moduleheader">Aop</div> ==
Maintains the AOP list for a channel. Users who match an access entry
on the AOP list receive the following privileges (see /msg ChanServ SET for details):
:GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC
The AOP ADD command adds the given nickname to the AOP list.
The AOP DEL command removes the given nick from the AOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
The AOP LIST command displays the AOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:/msg ChanServ AOP #channel LIST 2-5,7-9
::Lists AOP entries numbered 2 through 5 and 7 through 9.
The AOP CLEAR command clears all entries of the AOP list.
'''Note''': Alternative methods of modifying channel access lists are available. See /msg ChanServ HELP FLAGS for more information about the access list.
===Syntax===
:/msg ChanServ AOP #channel ADD Hostmask_or_nick
:/msg ChanServ AOP #channel DEL Hostmask_or_nick_or_entrynumber_or_list
:/msg ChanServ AOP #channel LIST Optional_Hostmask_or_nick_or_list
:/msg ChanServ AOP #channel CLEAR
===Examples===
:/msg ChanServ AOP #DreamScape ADD Freddy@dreamwalker.org
:/msg ChanServ AOP #Basement DEL Jason@teenager.life
:/msg ChanServ AOP #DreamScape LIST 1-10
:/msg ChanServ AOP #ElmStreet CLEAR
== <div class="moduleheader">[Un]Ban</div> ==
Bans a given nick or mask on a channel. An optional expiry may be given to cause services to automatically remove the ban after a set amount of time. The Expiry time must start with a '+' symbol. You need to specify the time using 's' for seconds, 'm' for minutes, or 'd' for days.
By default, limited to AOPs or those with level 5 access and above on the channel. Channel founders may ban masks.
The Unban command tells ChanServ to remove all bans preventing you or the given user from entering the given channel. If no channel is given, all bans affecting you in channels you have access in are removed.
By default, limited to AOPs or those with level 5 access and above on the channel.
===Syntax===
:/msg ChanServ BAN #channel +Optional_expire_duration nick_or_hostmask Optional_reason
:/msg ChanServ UNBAN #channel Optional_nick
===Examples===
:/msg ChanServ BAN #bathroom +3d Fred
:/msg ChanServ UNBAN #gameroom Julie
== <div class="moduleheader">Clone</div> ==
Copies all settings, access, akicks, etc from channel to the target channel. If what is ACCESS, AKICK, BADWORDS, or LEVELS then only the respective settings are cloned.
'''NOTE''': You must be the founder of the original channel and the target channel.
===Syntax===
:/msg ChanServ CLONE #Original_channel #Target_Channel Optional_what_to_clone
===Examples===
:/msg ChanServ CLONE #FrontRoom #Basement
== <div class="moduleheader">Down</div> ==
Removes a selected nicks status modes on a channel. If nick is ommited then your status is removed. If channel is ommited then your channel status is removed on every channel you are in.
'''NOTE''': If you specify a nick, you must specify the channel.
===Syntax===
:/msg ChanServ DOWN #optional_Channel Optional_Nick
===Examples===
:/msg ChanServ DOWN #Basement FreddyK
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname, and must have channel op status in the channel.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
b19b708169cc861416b3b00c67157a1c0166df3d
1132
1131
2015-04-20T00:35:52Z
Azander
9
/* Clone */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The /msg ChanServ ACCESS #channel ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The /msg ChanServ ACCESS #channel DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The /msg ChanServ ACCESS #channel LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and
::7 through 9.
The /msg ChanServ ACCESS #channel VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The /msg ChanServ ACCESS #channel CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
===Syntax===
:/msg ChanServ ACCESS #channel_name ADD Nick_or_hostmask level_flag_or_xOP
:/msg ChanServ ACCESS #channel_name DEL Nick_or_hostmask
:/msg ChanServ ACCESS #channel_name LIST Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name VIEW Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name CLEAR
===Examples===
:/msg ChanServ ACCESS #Bedroom ADD Marge SOP
:/msg ChanServ ACCESS #Kitchen DEL Glen
:/msg ChanServ ACCESS #Basement LIST
:/msg ChanServ ACCESS #Basement VIEW 4,7
:/msg ChanServ ACCESS #Basement CLEAR
== <div class="moduleheader">Akick</div> ==
Maintains the AutoKick list for a channel. If a user on the AutoKick list attempts to join the channel, ChanServ will ban that user from the channel, then kick the user.
===Syntax===
:;/msg ChanServ AKICK #channel_name ADD Nick_or_hostmask Optional_Reason :Adds the given nick or usermask to the AutoKick list. If a reason is given with the command, that reason will be used when the user is kicked; if not, the default reason is "User has been banned from the channel".
::When akicking a registered nick the NickServ account will be added to the akick list instead of the mask. All users within that nickgroup will then be akicked.
:;/msg ChanServ AKICK #channel_name DEL Nick_or_hostmask_or_entry-Number_or_list :Removes the given nick or mask from the AutoKick list. It does not, however, remove any bans placed by an AutoKick; those must be removed manually.
:;/msg ChanServ AKICK #channel_name LIST optional_nick_or_hostmask_or_list :Displays the AutoKick list, or optionally only those AutoKick entries which match the given mask.
:;/msg ChanServ AKICK #channel_name VIEW Optional_nick_or_hostmask_or_entry_number_or_list :A more verbose version of the AKICK LIST command.
:;/msg ChanServ AKICK #channel_name ENFORCE :Causes ChanServ to enforce the current AKICK list by removing those users who match an AKICK mask.
:;/msg ChanServ AKICK #channel_name CLEAR :Clears all entries of the akick list.
===Examples===
:/msg ChanServ AKICK #nightmare ADD Dream_walker Bad person
:/msg ChanServ AKICK #nightmare DEL Freddy
:/msg ChanServ AKICK #nightmare LIST 1-4
:/msg ChanServ AKICK #kitchen VIEW
:/msg ChanServ AKICK #Bedroom ENFORCE
:/msg ChanServ AKICK #house CLEAR
== <div class="moduleheader">Aop</div> ==
Maintains the AOP list for a channel. Users who match an access entry
on the AOP list receive the following privileges (see /msg ChanServ SET for details):
:GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC
The AOP ADD command adds the given nickname to the AOP list.
The AOP DEL command removes the given nick from the AOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
The AOP LIST command displays the AOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:/msg ChanServ AOP #channel LIST 2-5,7-9
::Lists AOP entries numbered 2 through 5 and 7 through 9.
The AOP CLEAR command clears all entries of the AOP list.
'''Note''': Alternative methods of modifying channel access lists are available. See /msg ChanServ HELP FLAGS for more information about the access list.
===Syntax===
:/msg ChanServ AOP #channel ADD Hostmask_or_nick
:/msg ChanServ AOP #channel DEL Hostmask_or_nick_or_entrynumber_or_list
:/msg ChanServ AOP #channel LIST Optional_Hostmask_or_nick_or_list
:/msg ChanServ AOP #channel CLEAR
===Examples===
:/msg ChanServ AOP #DreamScape ADD Freddy@dreamwalker.org
:/msg ChanServ AOP #Basement DEL Jason@teenager.life
:/msg ChanServ AOP #DreamScape LIST 1-10
:/msg ChanServ AOP #ElmStreet CLEAR
== <div class="moduleheader">[Un]Ban</div> ==
Bans a given nick or mask on a channel. An optional expiry may be given to cause services to automatically remove the ban after a set amount of time. The Expiry time must start with a '+' symbol. You need to specify the time using 's' for seconds, 'm' for minutes, or 'd' for days.
By default, limited to AOPs or those with level 5 access and above on the channel. Channel founders may ban masks.
The Unban command tells ChanServ to remove all bans preventing you or the given user from entering the given channel. If no channel is given, all bans affecting you in channels you have access in are removed.
By default, limited to AOPs or those with level 5 access and above on the channel.
===Syntax===
:/msg ChanServ BAN #channel +Optional_expire_duration nick_or_hostmask Optional_reason
:/msg ChanServ UNBAN #channel Optional_nick
===Examples===
:/msg ChanServ BAN #bathroom +3d Fred
:/msg ChanServ UNBAN #gameroom Julie
== <div class="moduleheader">Clone</div> ==
Copies all settings, access, akicks, etc from channel to the target channel. If what is ACCESS, AKICK, BADWORDS, or LEVELS then only the respective settings are cloned.
'''NOTE''': You must be the founder of the original channel and the target channel.
===Syntax===
:/msg ChanServ CLONE #Original_channel #Target_Channel Optional_what_to_clone
===Examples===
:/msg ChanServ CLONE #FrontRoom #Basement
== <div class="moduleheader">Down</div> ==
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname, and must have channel op status in the channel.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
ceeaee2cb57b3aa8ad6325a29664cfc3987ce758
1131
1130
2015-04-19T16:39:42Z
Azander
9
/* [Un]Ban */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The /msg ChanServ ACCESS #channel ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The /msg ChanServ ACCESS #channel DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The /msg ChanServ ACCESS #channel LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and
::7 through 9.
The /msg ChanServ ACCESS #channel VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The /msg ChanServ ACCESS #channel CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
===Syntax===
:/msg ChanServ ACCESS #channel_name ADD Nick_or_hostmask level_flag_or_xOP
:/msg ChanServ ACCESS #channel_name DEL Nick_or_hostmask
:/msg ChanServ ACCESS #channel_name LIST Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name VIEW Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name CLEAR
===Examples===
:/msg ChanServ ACCESS #Bedroom ADD Marge SOP
:/msg ChanServ ACCESS #Kitchen DEL Glen
:/msg ChanServ ACCESS #Basement LIST
:/msg ChanServ ACCESS #Basement VIEW 4,7
:/msg ChanServ ACCESS #Basement CLEAR
== <div class="moduleheader">Akick</div> ==
Maintains the AutoKick list for a channel. If a user on the AutoKick list attempts to join the channel, ChanServ will ban that user from the channel, then kick the user.
===Syntax===
:;/msg ChanServ AKICK #channel_name ADD Nick_or_hostmask Optional_Reason :Adds the given nick or usermask to the AutoKick list. If a reason is given with the command, that reason will be used when the user is kicked; if not, the default reason is "User has been banned from the channel".
::When akicking a registered nick the NickServ account will be added to the akick list instead of the mask. All users within that nickgroup will then be akicked.
:;/msg ChanServ AKICK #channel_name DEL Nick_or_hostmask_or_entry-Number_or_list :Removes the given nick or mask from the AutoKick list. It does not, however, remove any bans placed by an AutoKick; those must be removed manually.
:;/msg ChanServ AKICK #channel_name LIST optional_nick_or_hostmask_or_list :Displays the AutoKick list, or optionally only those AutoKick entries which match the given mask.
:;/msg ChanServ AKICK #channel_name VIEW Optional_nick_or_hostmask_or_entry_number_or_list :A more verbose version of the AKICK LIST command.
:;/msg ChanServ AKICK #channel_name ENFORCE :Causes ChanServ to enforce the current AKICK list by removing those users who match an AKICK mask.
:;/msg ChanServ AKICK #channel_name CLEAR :Clears all entries of the akick list.
===Examples===
:/msg ChanServ AKICK #nightmare ADD Dream_walker Bad person
:/msg ChanServ AKICK #nightmare DEL Freddy
:/msg ChanServ AKICK #nightmare LIST 1-4
:/msg ChanServ AKICK #kitchen VIEW
:/msg ChanServ AKICK #Bedroom ENFORCE
:/msg ChanServ AKICK #house CLEAR
== <div class="moduleheader">Aop</div> ==
Maintains the AOP list for a channel. Users who match an access entry
on the AOP list receive the following privileges (see /msg ChanServ SET for details):
:GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC
The AOP ADD command adds the given nickname to the AOP list.
The AOP DEL command removes the given nick from the AOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
The AOP LIST command displays the AOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:/msg ChanServ AOP #channel LIST 2-5,7-9
::Lists AOP entries numbered 2 through 5 and 7 through 9.
The AOP CLEAR command clears all entries of the AOP list.
'''Note''': Alternative methods of modifying channel access lists are available. See /msg ChanServ HELP FLAGS for more information about the access list.
===Syntax===
:/msg ChanServ AOP #channel ADD Hostmask_or_nick
:/msg ChanServ AOP #channel DEL Hostmask_or_nick_or_entrynumber_or_list
:/msg ChanServ AOP #channel LIST Optional_Hostmask_or_nick_or_list
:/msg ChanServ AOP #channel CLEAR
===Examples===
:/msg ChanServ AOP #DreamScape ADD Freddy@dreamwalker.org
:/msg ChanServ AOP #Basement DEL Jason@teenager.life
:/msg ChanServ AOP #DreamScape LIST 1-10
:/msg ChanServ AOP #ElmStreet CLEAR
== <div class="moduleheader">[Un]Ban</div> ==
Bans a given nick or mask on a channel. An optional expiry may be given to cause services to automatically remove the ban after a set amount of time. The Expiry time must start with a '+' symbol. You need to specify the time using 's' for seconds, 'm' for minutes, or 'd' for days.
By default, limited to AOPs or those with level 5 access and above on the channel. Channel founders may ban masks.
The Unban command tells ChanServ to remove all bans preventing you or the given user from entering the given channel. If no channel is given, all bans affecting you in channels you have access in are removed.
By default, limited to AOPs or those with level 5 access and above on the channel.
===Syntax===
:/msg ChanServ BAN #channel +Optional_expire_duration nick_or_hostmask Optional_reason
:/msg ChanServ UNBAN #channel Optional_nick
===Examples===
:/msg ChanServ BAN #bathroom +3d Fred
:/msg ChanServ UNBAN #gameroom Julie
== <div class="moduleheader">Clone</div> ==
== <div class="moduleheader">Down</div> ==
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname, and must have channel op status in the channel.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
819cab2338546346cc76ece956056de8098556bc
1130
1129
2015-04-19T16:30:54Z
Azander
9
/* Aop */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The /msg ChanServ ACCESS #channel ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The /msg ChanServ ACCESS #channel DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The /msg ChanServ ACCESS #channel LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and
::7 through 9.
The /msg ChanServ ACCESS #channel VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The /msg ChanServ ACCESS #channel CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
===Syntax===
:/msg ChanServ ACCESS #channel_name ADD Nick_or_hostmask level_flag_or_xOP
:/msg ChanServ ACCESS #channel_name DEL Nick_or_hostmask
:/msg ChanServ ACCESS #channel_name LIST Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name VIEW Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name CLEAR
===Examples===
:/msg ChanServ ACCESS #Bedroom ADD Marge SOP
:/msg ChanServ ACCESS #Kitchen DEL Glen
:/msg ChanServ ACCESS #Basement LIST
:/msg ChanServ ACCESS #Basement VIEW 4,7
:/msg ChanServ ACCESS #Basement CLEAR
== <div class="moduleheader">Akick</div> ==
Maintains the AutoKick list for a channel. If a user on the AutoKick list attempts to join the channel, ChanServ will ban that user from the channel, then kick the user.
===Syntax===
:;/msg ChanServ AKICK #channel_name ADD Nick_or_hostmask Optional_Reason :Adds the given nick or usermask to the AutoKick list. If a reason is given with the command, that reason will be used when the user is kicked; if not, the default reason is "User has been banned from the channel".
::When akicking a registered nick the NickServ account will be added to the akick list instead of the mask. All users within that nickgroup will then be akicked.
:;/msg ChanServ AKICK #channel_name DEL Nick_or_hostmask_or_entry-Number_or_list :Removes the given nick or mask from the AutoKick list. It does not, however, remove any bans placed by an AutoKick; those must be removed manually.
:;/msg ChanServ AKICK #channel_name LIST optional_nick_or_hostmask_or_list :Displays the AutoKick list, or optionally only those AutoKick entries which match the given mask.
:;/msg ChanServ AKICK #channel_name VIEW Optional_nick_or_hostmask_or_entry_number_or_list :A more verbose version of the AKICK LIST command.
:;/msg ChanServ AKICK #channel_name ENFORCE :Causes ChanServ to enforce the current AKICK list by removing those users who match an AKICK mask.
:;/msg ChanServ AKICK #channel_name CLEAR :Clears all entries of the akick list.
===Examples===
:/msg ChanServ AKICK #nightmare ADD Dream_walker Bad person
:/msg ChanServ AKICK #nightmare DEL Freddy
:/msg ChanServ AKICK #nightmare LIST 1-4
:/msg ChanServ AKICK #kitchen VIEW
:/msg ChanServ AKICK #Bedroom ENFORCE
:/msg ChanServ AKICK #house CLEAR
== <div class="moduleheader">Aop</div> ==
Maintains the AOP list for a channel. Users who match an access entry
on the AOP list receive the following privileges (see /msg ChanServ SET for details):
:GREET, AUTOOP, GETKEY, HALFOP, INVITE, OPME, PROTECTME, SAY, TOPIC
The AOP ADD command adds the given nickname to the AOP list.
The AOP DEL command removes the given nick from the AOP list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.)
The AOP LIST command displays the AOP list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:/msg ChanServ AOP #channel LIST 2-5,7-9
::Lists AOP entries numbered 2 through 5 and 7 through 9.
The AOP CLEAR command clears all entries of the AOP list.
'''Note''': Alternative methods of modifying channel access lists are available. See /msg ChanServ HELP FLAGS for more information about the access list.
===Syntax===
:/msg ChanServ AOP #channel ADD Hostmask_or_nick
:/msg ChanServ AOP #channel DEL Hostmask_or_nick_or_entrynumber_or_list
:/msg ChanServ AOP #channel LIST Optional_Hostmask_or_nick_or_list
:/msg ChanServ AOP #channel CLEAR
===Examples===
:/msg ChanServ AOP #DreamScape ADD Freddy@dreamwalker.org
:/msg ChanServ AOP #Basement DEL Jason@teenager.life
:/msg ChanServ AOP #DreamScape LIST 1-10
:/msg ChanServ AOP #ElmStreet CLEAR
== <div class="moduleheader">[Un]Ban</div> ==
== <div class="moduleheader">Clone</div> ==
== <div class="moduleheader">Down</div> ==
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname, and must have channel op status in the channel.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
0a379c36f3abd5bb4eafec1570fd458e2a2a8ac0
1129
1128
2015-04-19T16:16:34Z
Azander
9
/* Akick */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The /msg ChanServ ACCESS #channel ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The /msg ChanServ ACCESS #channel DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The /msg ChanServ ACCESS #channel LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and
::7 through 9.
The /msg ChanServ ACCESS #channel VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The /msg ChanServ ACCESS #channel CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
===Syntax===
:/msg ChanServ ACCESS #channel_name ADD Nick_or_hostmask level_flag_or_xOP
:/msg ChanServ ACCESS #channel_name DEL Nick_or_hostmask
:/msg ChanServ ACCESS #channel_name LIST Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name VIEW Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name CLEAR
===Examples===
:/msg ChanServ ACCESS #Bedroom ADD Marge SOP
:/msg ChanServ ACCESS #Kitchen DEL Glen
:/msg ChanServ ACCESS #Basement LIST
:/msg ChanServ ACCESS #Basement VIEW 4,7
:/msg ChanServ ACCESS #Basement CLEAR
== <div class="moduleheader">Akick</div> ==
Maintains the AutoKick list for a channel. If a user on the AutoKick list attempts to join the channel, ChanServ will ban that user from the channel, then kick the user.
===Syntax===
:;/msg ChanServ AKICK #channel_name ADD Nick_or_hostmask Optional_Reason :Adds the given nick or usermask to the AutoKick list. If a reason is given with the command, that reason will be used when the user is kicked; if not, the default reason is "User has been banned from the channel".
::When akicking a registered nick the NickServ account will be added to the akick list instead of the mask. All users within that nickgroup will then be akicked.
:;/msg ChanServ AKICK #channel_name DEL Nick_or_hostmask_or_entry-Number_or_list :Removes the given nick or mask from the AutoKick list. It does not, however, remove any bans placed by an AutoKick; those must be removed manually.
:;/msg ChanServ AKICK #channel_name LIST optional_nick_or_hostmask_or_list :Displays the AutoKick list, or optionally only those AutoKick entries which match the given mask.
:;/msg ChanServ AKICK #channel_name VIEW Optional_nick_or_hostmask_or_entry_number_or_list :A more verbose version of the AKICK LIST command.
:;/msg ChanServ AKICK #channel_name ENFORCE :Causes ChanServ to enforce the current AKICK list by removing those users who match an AKICK mask.
:;/msg ChanServ AKICK #channel_name CLEAR :Clears all entries of the akick list.
===Examples===
:/msg ChanServ AKICK #nightmare ADD Dream_walker Bad person
:/msg ChanServ AKICK #nightmare DEL Freddy
:/msg ChanServ AKICK #nightmare LIST 1-4
:/msg ChanServ AKICK #kitchen VIEW
:/msg ChanServ AKICK #Bedroom ENFORCE
:/msg ChanServ AKICK #house CLEAR
== <div class="moduleheader">Aop</div> ==
== <div class="moduleheader">[Un]Ban</div> ==
== <div class="moduleheader">Clone</div> ==
== <div class="moduleheader">Down</div> ==
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname, and must have channel op status in the channel.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
3b15486414006ce4930a37e292c57d754f03a677
1128
1127
2015-04-01T21:33:29Z
Azander
9
/* Register */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The /msg ChanServ ACCESS #channel ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The /msg ChanServ ACCESS #channel DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The /msg ChanServ ACCESS #channel LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and
::7 through 9.
The /msg ChanServ ACCESS #channel VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The /msg ChanServ ACCESS #channel CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
===Syntax===
:/msg ChanServ ACCESS #channel_name ADD Nick_or_hostmask level_flag_or_xOP
:/msg ChanServ ACCESS #channel_name DEL Nick_or_hostmask
:/msg ChanServ ACCESS #channel_name LIST Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name VIEW Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name CLEAR
===Examples===
:/msg ChanServ ACCESS #Bedroom ADD Marge SOP
:/msg ChanServ ACCESS #Kitchen DEL Glen
:/msg ChanServ ACCESS #Basement LIST
:/msg ChanServ ACCESS #Basement VIEW 4,7
:/msg ChanServ ACCESS #Basement CLEAR
== <div class="moduleheader">Akick</div> ==
== <div class="moduleheader">Aop</div> ==
== <div class="moduleheader">[Un]Ban</div> ==
== <div class="moduleheader">Clone</div> ==
== <div class="moduleheader">Down</div> ==
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname, and must have channel op status in the channel.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
6ec077f9abfee1cb2297781a971f3982efe0ad28
1127
1126
2015-04-01T21:30:03Z
Azander
9
/* Access */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Maintains the access list for a channel. The access list specifies which users are allowed chanop status or access to ChanServ commands on the channel. Different user levels allow for access to different subsets of privileges. Any registered user not on the access list has a user level of 0, and any unregistered user has a user level of -1.
The /msg ChanServ ACCESS #channel ADD command adds the given mask to the access list with the given user level; if the mask is already present on the list, its access level is changed to the level specified in the command. The level specified may be a numerical level or the name of a privilege (eg AUTOOP). When a user joins the channel the access they receive is from the highest level entry in the access list. The given mask may also be a channel, which will use the access list from the other channel up to the given level.
The /msg ChanServ ACCESS #channel DEL command removes the given nick from the access list. If a list of entry numbers is given, those entries are deleted. (See the example for LIST below.) You may remove yourself from an access list, even if you do not have access to modify that list otherwise.
The /msg ChanServ ACCESS #channel LIST command displays the access list. If a wildcard mask is given, only those entries matching the mask are displayed. If a list of entry numbers is given, only those entries are shown; for example:
:ACCESS #channel LIST 2-5,7-9
::Lists access entries numbered 2 through 5 and
::7 through 9.
The /msg ChanServ ACCESS #channel VIEW command displays the access list similar to ACCESS LIST but shows the creator and last used time.
The /msg ChanServ ACCESS #channel CLEAR command clears all entries of the access list.
User access levels can be seen by using the LEVELS command; type /msg ChanServ HELP LEVELS for information.
===Syntax===
:/msg ChanServ ACCESS #channel_name ADD Nick_or_hostmask level_flag_or_xOP
:/msg ChanServ ACCESS #channel_name DEL Nick_or_hostmask
:/msg ChanServ ACCESS #channel_name LIST Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name VIEW Nick_or_hostmask_or_item_number(s)
:/msg ChanServ ACCESS #channel_name CLEAR
===Examples===
:/msg ChanServ ACCESS #Bedroom ADD Marge SOP
:/msg ChanServ ACCESS #Kitchen DEL Glen
:/msg ChanServ ACCESS #Basement LIST
:/msg ChanServ ACCESS #Basement VIEW 4,7
:/msg ChanServ ACCESS #Basement CLEAR
== <div class="moduleheader">Akick</div> ==
== <div class="moduleheader">Aop</div> ==
== <div class="moduleheader">[Un]Ban</div> ==
== <div class="moduleheader">Clone</div> ==
== <div class="moduleheader">Down</div> ==
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
8294860685256cd238f4d7a6f49b378ee1c60dd7
1126
1125
2015-04-01T21:14:39Z
Azander
9
/* Register */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
== <div class="moduleheader">Akick</div> ==
== <div class="moduleheader">Aop</div> ==
== <div class="moduleheader">[Un]Ban</div> ==
== <div class="moduleheader">Clone</div> ==
== <div class="moduleheader">Down</div> ==
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div style="color: red; display: inline;">NOTICE</div>: In order to register a channel, you must have first registered your nickname.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
f59f054c6476ad5d7e03420e56487cc39b8733a3
1125
1104
2015-04-01T21:13:50Z
Azander
9
/* Register */
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
== <div class="moduleheader">Akick</div> ==
== <div class="moduleheader">Aop</div> ==
== <div class="moduleheader">[Un]Ban</div> ==
== <div class="moduleheader">Clone</div> ==
== <div class="moduleheader">Down</div> ==
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
Registers a channel in the ChanServ database. In order to use this command, you must first be a channel operator on the channel you're trying to register. The description, which is optional, is a general description of the channel's purpose.
When you register a channel, you are recorded as the "founder", also called the "owner" of the channel. The channel founder is allowed to change all of the channel settings for the channel; ChanServ will also automatically give the founder channel-operator privileges when s/he enters the channel.
See the ACCESS command (/msg ChanServ HELP ACCESS) for information on giving a subset of these privileges to other channel users.
<div color="red">NOTICE</div>: In order to register a channel, you must have first registered your nickname.
===Syntax===
:/msg ChanServ REGISTER #channel_name Description_of_channel
===Examples===
:/msg ChanServ REGISTER #Bedroom Where evil happens in your dreams!
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
4fe63b263e897bf42cbe8fa00d7c6acbdc98b2a8
1104
2015-03-03T02:39:05Z
Azander
9
Created page with "{{Language|ChanServ}} =ChanServ Commands= '''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc ne..."
wikitext
text/x-wiki
{{Language|ChanServ}}
=ChanServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg ChanServ' where you can use '/cs' or '/chanserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg chanserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
== <div class="moduleheader">Akick</div> ==
== <div class="moduleheader">Aop</div> ==
== <div class="moduleheader">[Un]Ban</div> ==
== <div class="moduleheader">Clone</div> ==
== <div class="moduleheader">Down</div> ==
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Enforce</div> ==
== <div class="moduleheader">Entrymsg</div> ==
== <div class="moduleheader">Flags</div> ==
== <div class="moduleheader">Getkey</div> ==
== <div class="moduleheader">[De]Halfop</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Hop</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">Invite</div> ==
== <div class="moduleheader">Kick</div> ==
== <div class="moduleheader">Levels</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Log</div> ==
== <div class="moduleheader">Mode</div> ==
== <div class="moduleheader">[De]Op</div> ==
== <div class="moduleheader">[De]Owner</div> ==
== <div class="moduleheader">[De]Protect</div> ==
== <div class="moduleheader">Qop</div> ==
== <div class="moduleheader">Register</div> ==
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Sop</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">[Un]Suspend</div> ==
== <div class="moduleheader">Sync</div> ==
== <div class="moduleheader">Topic</div> ==
== <div class="moduleheader">Up</div> ==
== <div class="moduleheader">[De]Voice</div> ==
== <div class="moduleheader">Vop</div> ==
4cb07f3ad4a1bc71fd0280b173ec0880736f5437
Denora/Configuration
0
228
1054
1053
2014-06-01T06:30:51Z
Yoerger
7
Protected "[[Denora/Configuration]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
1053
2014-06-01T06:30:42Z
Yoerger
7
Created page with "{{Construction}}"
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
Denora/FAQ
0
230
1058
1057
2014-06-01T06:31:13Z
Yoerger
7
Protected "[[Denora/FAQ]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
1057
2014-06-01T06:31:09Z
Yoerger
7
Created page with "{{Construction}}"
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
Denora/Installation
0
227
1052
1050
2014-06-01T06:30:35Z
Yoerger
7
Protected "[[Denora/Installation]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
1050
2014-06-01T06:30:18Z
Yoerger
7
Created page with "{{Construction}}"
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
Denora/Modules
0
229
1056
1055
2014-06-01T06:31:02Z
Yoerger
7
Protected "[[Denora/Modules]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
1055
2014-06-01T06:30:57Z
Yoerger
7
Created page with "{{Construction}}"
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
Denora/Overview
0
226
1051
1044
2014-06-01T06:30:25Z
Yoerger
7
Protected "[[Denora/Overview]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
1044
2014-06-01T06:28:47Z
Yoerger
7
Created page with "{{Construction}}"
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
Dependencies
0
238
1139
2015-06-12T20:59:28Z
Yoerger
7
Created page with "{{Template:Construction}}"
wikitext
text/x-wiki
{{Template:Construction}}
03b12bf786b835001a90fd04fee055e3cffa69db
MagIRC/Configuration
0
233
1064
1063
2014-06-01T06:31:46Z
Yoerger
7
Protected "[[MagIRC/Configuration]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
1063
2014-06-01T06:31:42Z
Yoerger
7
Created page with "{{Construction}}"
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
MagIRC/FAQ
0
235
1068
1067
2014-06-01T06:32:11Z
Yoerger
7
Protected "[[MagIRC/FAQ]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
1067
2014-06-01T06:32:07Z
Yoerger
7
Created page with "{{Construction}}"
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
MagIRC/Installation
0
232
1062
1061
2014-06-01T06:31:35Z
Yoerger
7
Protected "[[MagIRC/Installation]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
1061
2014-06-01T06:31:30Z
Yoerger
7
Created page with "{{Construction}}"
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
MagIRC/Modules
0
234
1066
1065
2014-06-01T06:32:01Z
Yoerger
7
Protected "[[MagIRC/Modules]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
1065
2014-06-01T06:31:57Z
Yoerger
7
Created page with "{{Construction}}"
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
MagIRC/Overview
0
231
1060
1059
2014-06-01T06:31:24Z
Yoerger
7
Protected "[[MagIRC/Overview]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
1059
2014-06-01T06:31:20Z
Yoerger
7
Created page with "{{Construction}}"
wikitext
text/x-wiki
{{Construction}}
8184bb7e71b201947e70107fefd91626958f82ab
Main Page
0
1
1157
1154
2023-07-09T19:33:49Z
Sadie
38
misc updates
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. For Anope support or feedback, join #anope on our [ircs://irc.anope.org:+6697/#anope IRC Network].
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [https://www.anope.org Website]<br />
• [https://anope.org/team.php The Team]<br />
• [https://github.com/anope/anope/issues Bug Tracker]<br />
• [https://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.anope.org:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope 2.0 Development
• [https://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.anope.org:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [https://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
12d877923a1cdc1faf2b888c6c0f3d3e4989fd4e
1154
1145
2021-09-08T20:39:58Z
Sadie
38
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. For Anope support or feedback, join #anope on our [ircs://irc.anope.org:+6697/#anope IRC Network].
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope 2.0 Development
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [http://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
327f01144f9e1f05838826e3358b0e28719451b8
1145
1144
2018-06-13T07:03:16Z
Dukepyrolator
4
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. For Anope support or feedback, join #anope on our [ircs://irc.teranova.net:+6697/#anope IRC Network].
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope 2.0 Development
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [http://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
84271b17dea5110ffa479e7ccae2cef3bb51c6dd
1144
1143
2018-06-13T07:02:49Z
Dukepyrolator
4
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. For Anope support or feedback, join #anope on our [ircs://irc.teranova.net:+6697/#wiki IRC Network].
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope 2.0 Development
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [http://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
9c59a4223e88c5a711a6628425d1476bd7c278a2
1143
1103
2017-12-08T02:28:57Z
Adam
27
Remove sourceforge
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. For Anope support or feedback, join #anope on our [ircs://irc.teranova.net:+6697/#wiki IRC Network]. For direct issues related to the Wiki, please contact Yoerger on IRC. If you're looking for information on Anope 1.9/1.8/1.7, you can find it on our Old Wiki, [http://oldwiki.anope.org here]. [http://wiki.anope.org/index.php/WikiCredits Wiki Credits]
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope 2.0 Development
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [http://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
fc7992794361f7ffda10c5f7944fbbc2de6cbb8d
1103
1102
2015-02-24T15:47:25Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. For Anope support or feedback, join #anope on our [ircs://irc.teranova.net:+6697/#wiki IRC Network]. For direct issues related to the Wiki, please contact Yoerger on IRC. If you're looking for information on Anope 1.9/1.8/1.7, you can find it on our Old Wiki, [http://oldwiki.anope.org here]. [http://wiki.anope.org/index.php/WikiCredits Wiki Credits]
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope 2.0 Development
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [http://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
fbeb5813cb29348f0e94f4828996ac1d2707b447
1102
1037
2015-02-24T15:46:34Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. Please note that our Wiki is still in development and not all content has been added yet. For Anope support or feedback, join #anope on our [ircs://irc.teranova.net:+6697/#wiki IRC Network]. For direct issues related to the Wiki, please contact Yoerger on IRC. If you're looking for information on Anope 1.9/1.8/1.7, you can find it on our Old Wiki, [http://oldwiki.anope.org here]. [http://wiki.anope.org/index.php/WikiCredits Wiki Credits]
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope 2.0 Development
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [http://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
2e132d5b3007f43cf9f4948dddd1565b1f1ca7d2
1037
1033
2014-06-01T01:18:59Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. Please note that our Wiki is still in development and not all content has been added yet. For support or feedback, join #wiki on our [ircs://irc.teranova.net:+6697/#wiki IRC Network]. If you're looking for information on Anope 1.9/1.8/1.7, you can find it on our Old Wiki, [http://oldwiki.anope.org here]. [http://wiki.anope.org/index.php/WikiCredits Wiki Credits]
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope 2.0 Development
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [http://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
d891a9e6e07a10d001e26e414386f86912b419bc
1033
1019
2014-06-01T01:04:06Z
Yoerger
7
Added Table title line
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. Please note that our Wiki is still in development and not all content has been added yet. For support or feedback, join #wiki on our [ircs://irc.teranova.net:+6697/#wiki IRC Network]. If you're looking for information on Anope 1.9/1.8/1.7, you can find it on our Old Wiki, [http://oldwiki.anope.org here].
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope 2.0 Development
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [http://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
a53831bcb23a3dd4a1e8d3d3175f3dd9557c95a5
1019
1013
2014-05-31T20:46:59Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. Please note that our Wiki is still in development and not all content has been added yet. For support or feedback, join #wiki on our [ircs://irc.teranova.net:+6697/#wiki IRC Network]. If you're looking for information on Anope 1.9/1.8/1.7, you can find it on our Old Wiki, [http://oldwiki.anope.org here].
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [http://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
645f802b2bdad5502e454cb11b2d32c67d589d1e
1013
1003
2014-05-31T20:38:11Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. Please note that our Wiki is still in development and not all content has been added yet. For support or feedback, join #wiki on our [ircs://irc.teranova.net:+6697/#wiki IRC Network].
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''7/5/2013''' -- Home Page Updated. Many Files Added Globally.<br />
'''4/5/2013''' -- Populating Wiki Project Started Again.
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
• [http://wiki.anope.org/index.php/2.0/Mysql:Scheme MySQL Database Scheme]<br />
|-
|}
7632c3ce2c06c2fcb881635d64912580aa205a55
1003
1002
2014-05-28T18:37:45Z
Yoerger
7
Grammar Fix.
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you're searching for. Please note that our Wiki is still in development and not all content has been added yet. For support or feedback, join #wiki on our [ircs://irc.teranova.net:+6697/#wiki IRC Network].
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''7/5/2013''' -- Home Page Updated. Many Files Added Globally.<br />
'''4/5/2013''' -- Populating Wiki Project Started Again.
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
|-
|}
3e46bcc765cfba03ae7acbdd19e5f9b098b27ea9
1002
989
2014-05-28T18:37:21Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet. For support or feedback, join #wiki on our [ircs://irc.teranova.net:+6697/#wiki IRC Network].
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''7/5/2013''' -- Home Page Updated. Many Files Added Globally.<br />
'''4/5/2013''' -- Populating Wiki Project Started Again.
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
|-
|}
f835f9100392fd9f03f394c10426516bf9bb244a
989
988
2014-05-27T19:42:49Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''7/5/2013''' -- Home Page Updated. Many Files Added Globally.<br />
'''4/5/2013''' -- Populating Wiki Project Started Again.
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
|-
|}
76fb291a7daf6b1d0f3e9cdf1bddb52ee5e90d5d
988
987
2014-05-27T19:42:36Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''7/5/2013''' -- Home Page Updated. Many Files Added Globally.<br />
'''4/5/2013''' -- Populating Wiki Project Started Again.
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]<br />
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]<br />
• [https://github.com/anope/anope Github Code Repository]<br />
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]<br />
[
|-
|}
fbb8e2f31fce4818601bf95fc5cc5d52ade8576e
987
986
2014-05-27T19:42:19Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''7/5/2013''' -- Home Page Updated. Many Files Added Globally.<br />
'''4/5/2013''' -- Populating Wiki Project Started Again.
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|
• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge]
• [https://github.com/anope/anope Github Code Repository]
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]
[
|-
|}
1e1903445f767db94397a32847f9955a9c609184
986
983
2014-05-27T19:41:55Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''7/5/2013''' -- Home Page Updated. Many Files Added Globally.<br />
'''4/5/2013''' -- Populating Wiki Project Started Again.
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|• [http://www.anope.org/doxy/2.0/ DoxyGen for Anope 2.0]
• [http://sourceforge.net/p/anope/code/ci/2.0/tree/ GitWeb via Source Forge
• [https://github.com/anope/anope Github Code Repository]
• [ircs://irc.teranova.net:+6697/#anope-devel IRC Anope Development Discussion Channel]
[
|-
|}
0de91328e787e7f6cafb721941e2485e6d9d1954
983
850
2014-05-27T19:34:28Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''7/5/2013''' -- Home Page Updated. Many Files Added Globally.<br />
'''4/5/2013''' -- Populating Wiki Project Started Again.
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Anope Development
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|Other useful links and topics
nothing ... yet :)
|-
|}
e4bfc72b896742f94ecb4de878fb3a6394aeb0ee
850
670
2014-05-09T17:19:14Z
Azander
9
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''7/5/2013''' -- Home Page Updated. Many Files Added Globally.<br />
'''4/5/2013''' -- Populating Wiki Project Started Again.
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [http://modules.anope.org/ Contributed modules]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Other
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|Other useful links and topics
nothing ... yet :)
|-
|}
c493df72399c6d621eb62463c6ffb3f679aa302a
670
546
2014-05-07T09:33:37Z
Yoerger
7
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''7/5/2013''' -- Home Page Updated. Many Files Added Globally.<br />
'''4/5/2013''' -- Populating Wiki Project Started Again.
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Other
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|Other useful links and topics
nothing ... yet :)
|-
|}
73aadcc72a2e2d11f9541a7b4339a97cfd522140
546
545
2014-05-04T17:32:36Z
Azander
9
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''18/11/2013''' -- Main Page edited<br />
'''17/11/2013''' -- New Wiki installed
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README|README file]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Other
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|Other useful links and topics
nothing ... yet :)
|-
|}
ae7c298bc21adc7d2f2c97e4942bf2dbf1d55744
545
536
2014-05-04T17:31:11Z
Azander
9
/* Added README file */
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''18/11/2013''' -- Main Page edited<br />
'''17/11/2013''' -- New Wiki installed
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/README:README fiale]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Other
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|Other useful links and topics
nothing ... yet :)
|-
|}
9d1b6fcbcf0db7b4cb32051c0487b843a21da0e3
536
532
2014-01-26T08:30:01Z
Dukepyrolator
4
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''18/11/2013''' -- Main Page edited<br />
'''17/11/2013''' -- New Wiki installed
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, MagIRC and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|MagIRC
!style="width:33%;"|Other
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about MagIRC
• [[MagIRC/Overview|Overview]]<br />
• [[MagIRC/Installation|Installation]]<br />
• [[MagIRC/Configuration|Configuration]]<br />
• [[MagIRC/Modules|Modules]]<br />
• [[MagIRC/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|Other useful links and topics
nothing ... yet :)
|-
|}
d379ae9ec758c06365596a0329bea05b97b33455
532
331
2013-12-15T07:08:18Z
Yoerger
7
Added The Team Page, Removed "Help Us", Added Bug Tracker
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''18/11/2013''' -- Main Page edited<br />
'''17/11/2013''' -- New Wiki installed
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 1.8
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 1.8
• [[1.8/Overview|Overview]]<br />
• [[1.8/Installation|Installation]]<br />
• [[1.8/Configuration|Configuration]]<br />
• [[1.8/Modules|Modules]]<br />
• [[1.8/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [http://anope.org/team.php The Team]<br />
• [http://bugs.anope.org/ Bug Tracker]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
|-
|}
<!-- Denora, phpDenora and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|phpDenora
!style="width:33%;"|Other
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about phpDenora
• [[phpDenora/Overview|Overview]]<br />
• [[phpDenora/Installation|Installation]]<br />
• [[phpDenora/Configuration|Configuration]]<br />
• [[phpDenora/Modules|Modules]]<br />
• [[phpDenora/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|Other useful links and topics
nothing ... yet :)
|-
|}
a309d6065c915a6c5d6861a32dfe8af18f807b56
331
330
2013-11-18T15:13:37Z
Mietzie
5
wikitext
text/x-wiki
<!-- Welcome and News box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:40%;"|Welcome
!Latest News in our Wiki
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|Welcome to our AnopeWiki. We're glad to see you and we hope you will find what you searching for. Please note that our Wiki is still in development and not all content has been added yet
|style="padding:4px;"|Note: This is '''not''' the news feed about anope.org
'''18/11/2013''' -- Main Page edited<br />
'''17/11/2013''' -- New Wiki installed
|-
|}
<!-- Anope 1.8, Anope 2.0 and About Anope box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Anope 1.8
!style="width:33%;"|Anope 2.0
!style="width:33%;"|About Anope
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 1.8
• [[1.8/Overview|Overview]]<br />
• [[1.8/Installation|Installation]]<br />
• [[1.8/Configuration|Configuration]]<br />
• [[1.8/Modules|Modules]]<br />
• [[1.8/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Anope 2.0
• [[2.0/Overview|Overview]]<br />
• [[2.0/Installation|Installation]]<br />
• [[2.0/Configuration|Configuration]]<br />
• [[2.0/Modules|Modules]]<br />
• [[2.0/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|All about Anope
• [http://www.anope.org Website]<br />
• [http://sourceforge.net/projects/anope/files/ Download]<br />
• [[The Team|The Team]]<br />
• [ircs://irc.teranova.net:+6697/#anope Join us on IRC]<br />
• Help Us<br />
|-
|}
<!-- Denora, phpDenora and other useful links box -->
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!style="width:33%;"|Denora
!style="width:33%;"|phpDenora
!style="width:33%;"|Other
|-
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about Denora
• [[Denora/Overview|Overview]]<br />
• [[Denora/Installation|Installation]]<br />
• [[Denora/Configuration|Configuration]]<br />
• [[Denora/Modules|Modules]]<br />
• [[Denora/FAQ|FAQ]]<br />
|style="padding:4px;border-right:1px solid #64719b;vertical-align:text-top;"|All about phpDenora
• [[phpDenora/Overview|Overview]]<br />
• [[phpDenora/Installation|Installation]]<br />
• [[phpDenora/Configuration|Configuration]]<br />
• [[phpDenora/Modules|Modules]]<br />
• [[phpDenora/FAQ|FAQ]]<br />
|style="padding:4px;vertical-align:text-top;"|Other useful links and topics
nothing ... yet :)
|-
|}
68ae8694169f4dce462667e264cbb33f0849aead
NickServ
0
236
1124
1123
2015-04-01T21:09:01Z
Azander
9
/* UnSuspend */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin</div>==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
Sends a passcode to the nickname with instructions on how to reset their password. Email must be the email address associated to the nickname.
===Syntax===
:/msg NickServ RESETPASS nickname email
===Examples===
:/msg NickServ RESETPASS Freddy Freddy@elmstreet.com
== <div class="moduleheader">Set</div> ==
Sets various nickname options.
the option can be one of:
:;SET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SET DISPLAY :Set the display of your group in Services
:;SET EMAIL :Associate an E-mail address with your nickname
:;SET FACEBOOK :Associate a Facebook URL with your account
:;SET GREET :Associate a greet message with your nickname, displayed when you join a channel
:;SET HIDE :Hide certain pieces of nickname information
:;SET KEEPMODES :Enable or disable keep modes
:;SET KILL :Turn protection on or off
:;SET LANGUAGE :Set the language Services will use when messaging you, see /msg NickServ HELP SET LANGUAGE for list of available languages
:;SET PASSWORD :Set your nickname password
:;SET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SET SECURE :Turn nickname security on or off
:;SET TWITTER :Associate a Twitter account with your account
:;SET URL :Associate a URL with your account
===Syntax===
:/msg NickServ SET AUTOOP ON_or_OFF
:/msg NickServ SET DISPLAY nick_to_display_as_master_for_nick_group
:/msg NickServ SET EMAIL your@email.address.here
:/msg NickServ SET FACEBOOK your_facebook_address_here_leave_empty_to_disable
:/msg NickServ SET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SET HIDE EMAIL ON_or_OFF
:/msg NickServ SET HIDE STATUS ON_of_OFF
:/msg NickServ SET HIDE USERMASK ON_or_OFF
:/msg NickServ SET HIDE QUIT ON_or_OFF
:/msg NickServ SET KILL ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SET LANGUAGE Your_language_code_here
:/msg NickServ SET PASSWORD your_new_password_here
:/msg NickServ SET SECURE ON_or_OFF
:/msg NickServ SET TWITTER Your_twitter_handle_here_or_blank_to_disable
:/msg NickServ SET URL Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SET AUTOOP OFF
:/msg NickServ SET DISPLAY Freddy
:/msg NickServ SET EMAIL Freddy@dreamscape.org
:/msg NickServ SET FACEBOOK FreddyKrugerLives
:/msg NickServ SET GREET I come out of your nightmares to bring death and destruction
:/msg NickServ SET HIDE EMAIL ON
:/msg NickServ SET HIDE STATUS ON
:/msg NickServ SET HIDE USERMASK ON
:/msg NickServ SET HIDE QUIT OFF
:/msg NickServ SET KILL ON
:/msg NickServ SET LANGUAGE en_US
:/msg NickServ SET PASSWORD IKillPeopleInTheirSleep
:/msg NickServ SET SECURE ON
:/msg NickServ SET TWITTER @FreddyKrugerLives
:/msg NickServ SET URL http://nightmare.onelmstreet.us
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
===Syntax===
:/msg NickServ UPDATE
===Examples===
:/msg NickServ UPDATE
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged. This requires a Services Operator with the correct permissions to use it.
===Syntax===
:/msg NickServ GETEMAIL email@address.goes.here
===Examples===
:/msg NickServ GETEMAIL freddy@elmstreet.com
== <div class="moduleheader">SaSet</div> ==
Sets various nickname options. option can be one of:
:;SASET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SASET DISPLAY :Set the display of your group in Services
:;SASET EMAIL :Associate an E-mail address with your nickname
:;SASET GREET :Associate a greet message with your nickname
:;SASET HIDE :Hide certain pieces of nickname information
:;SASET KEEPMODES :Enable or disable keep modes
:;SASET KILL :Turn protection on or off
:;SASET LANGUAGE :Set the language Services will use when messaging you
:;SASET NOEXPIRE :Prevent the nickname from expiring
:;SASET PASSWORD :Set the nickname password
:;SASET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SASET SECURE :Turn nickname security on or off
:;SASET URL :Associate a URL with this account
Type /msg NickServ HELP saset option for more information on a specific option. The options will be set on the given nickname.
Access to this command requires the proper Services Operator permissions to be set.
===Syntax===
:/msg NickServ SASET AUTOOP nick ON_or_OFF
:/msg NickServ SASET DISPLAY nick nick_to_display_as_master_for_nick_group
:/msg NickServ SASET EMAIL nick your@email.address.here
:/msg NickServ SASET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SASET HIDE nick EMAIL ON_or_OFF
:/msg NickServ SASET HIDE nick STATUS ON_of_OFF
:/msg NickServ SASET HIDE nick USERMASK ON_or_OFF
:/msg NickServ SASET HIDE nick QUIT ON_or_OFF
:/msg NickServ SASET KEEPMODES nick ON_or_OFF
:/msg NickServ SASET KILL nick ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SASET LANGUAGE nick Your_language_code_here
:/msg NickServ SASET NOEXPIRE nick ON_or_OFF
:/msg NickServ SASET PASSWORD nick your_new_password_here
:/msg NickServ SASET SECURE nick ON_or_OFF
:/msg NickServ SASET URL nick Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SASET AUTOOP Freddy OFF
:/msg NickServ SASET DISPLAY Freddy Freddy
:/msg NickServ SASET EMAIL Freddy Freddy@dreamscape.org
:/msg NickServ SASET GREET Freddy I come out of your nightmares to bring death and destruction
:/msg NickServ SASET HIDE Freddy EMAIL ON
:/msg NickServ SASET HIDE Freddy STATUS ON
:/msg NickServ SASET HIDE Freddy USERMASK ON
:/msg NickServ SASET HIDE Freddy QUIT OFF
:/msg NickServ SASET KEEPMODES Freddy ON
:/msg NickServ SASET KILL Freddy ON
:/msg NickServ SASET LANGUAGE Freddy en_US
:/msg NickServ SASET PASSWORD Freddy IKillPeopleInTheirSleep
:/msg NickServ SASET SECURE Freddy ON
:/msg NickServ SASET URL Freddy http://nightmare.onelmstreet.us
== <div class="moduleheader">Suspend</div> ==
Suspends a registered nickname, which prevents it from being used while keeping all the data for that nick. If an expiry is given the nick will be unsuspended after that period of time, else the default expiry from the configuration is used.
Access to this command requires the proper Servvices Operator permissions to be set you.
===Syntax===
:/msg NickServ SUSPEND nickname +optional_expire_length Optionsal_reason
===Examples===
:/msg NickServ SUSPEND Jason +30d You have been vanquished. Come back in 30 days.
== <div class="moduleheader">UnSuspend</div> ==
Unsuspends a nickname which allows it to be used again.
Access to this command requires the proper Services Operator permissions to be set for you.
===Syntax===
:/msg NickServ UNSUSPEND nick
===Examples===
:/msg NickServ UNSUSPEND Jason
78ce3f6a430aefd8efd05a7778f508b2de420032
1123
1122
2015-04-01T21:04:36Z
Azander
9
/* Suspend */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin</div>==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
Sends a passcode to the nickname with instructions on how to reset their password. Email must be the email address associated to the nickname.
===Syntax===
:/msg NickServ RESETPASS nickname email
===Examples===
:/msg NickServ RESETPASS Freddy Freddy@elmstreet.com
== <div class="moduleheader">Set</div> ==
Sets various nickname options.
the option can be one of:
:;SET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SET DISPLAY :Set the display of your group in Services
:;SET EMAIL :Associate an E-mail address with your nickname
:;SET FACEBOOK :Associate a Facebook URL with your account
:;SET GREET :Associate a greet message with your nickname, displayed when you join a channel
:;SET HIDE :Hide certain pieces of nickname information
:;SET KEEPMODES :Enable or disable keep modes
:;SET KILL :Turn protection on or off
:;SET LANGUAGE :Set the language Services will use when messaging you, see /msg NickServ HELP SET LANGUAGE for list of available languages
:;SET PASSWORD :Set your nickname password
:;SET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SET SECURE :Turn nickname security on or off
:;SET TWITTER :Associate a Twitter account with your account
:;SET URL :Associate a URL with your account
===Syntax===
:/msg NickServ SET AUTOOP ON_or_OFF
:/msg NickServ SET DISPLAY nick_to_display_as_master_for_nick_group
:/msg NickServ SET EMAIL your@email.address.here
:/msg NickServ SET FACEBOOK your_facebook_address_here_leave_empty_to_disable
:/msg NickServ SET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SET HIDE EMAIL ON_or_OFF
:/msg NickServ SET HIDE STATUS ON_of_OFF
:/msg NickServ SET HIDE USERMASK ON_or_OFF
:/msg NickServ SET HIDE QUIT ON_or_OFF
:/msg NickServ SET KILL ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SET LANGUAGE Your_language_code_here
:/msg NickServ SET PASSWORD your_new_password_here
:/msg NickServ SET SECURE ON_or_OFF
:/msg NickServ SET TWITTER Your_twitter_handle_here_or_blank_to_disable
:/msg NickServ SET URL Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SET AUTOOP OFF
:/msg NickServ SET DISPLAY Freddy
:/msg NickServ SET EMAIL Freddy@dreamscape.org
:/msg NickServ SET FACEBOOK FreddyKrugerLives
:/msg NickServ SET GREET I come out of your nightmares to bring death and destruction
:/msg NickServ SET HIDE EMAIL ON
:/msg NickServ SET HIDE STATUS ON
:/msg NickServ SET HIDE USERMASK ON
:/msg NickServ SET HIDE QUIT OFF
:/msg NickServ SET KILL ON
:/msg NickServ SET LANGUAGE en_US
:/msg NickServ SET PASSWORD IKillPeopleInTheirSleep
:/msg NickServ SET SECURE ON
:/msg NickServ SET TWITTER @FreddyKrugerLives
:/msg NickServ SET URL http://nightmare.onelmstreet.us
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
===Syntax===
:/msg NickServ UPDATE
===Examples===
:/msg NickServ UPDATE
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged. This requires a Services Operator with the correct permissions to use it.
===Syntax===
:/msg NickServ GETEMAIL email@address.goes.here
===Examples===
:/msg NickServ GETEMAIL freddy@elmstreet.com
== <div class="moduleheader">SaSet</div> ==
Sets various nickname options. option can be one of:
:;SASET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SASET DISPLAY :Set the display of your group in Services
:;SASET EMAIL :Associate an E-mail address with your nickname
:;SASET GREET :Associate a greet message with your nickname
:;SASET HIDE :Hide certain pieces of nickname information
:;SASET KEEPMODES :Enable or disable keep modes
:;SASET KILL :Turn protection on or off
:;SASET LANGUAGE :Set the language Services will use when messaging you
:;SASET NOEXPIRE :Prevent the nickname from expiring
:;SASET PASSWORD :Set the nickname password
:;SASET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SASET SECURE :Turn nickname security on or off
:;SASET URL :Associate a URL with this account
Type /msg NickServ HELP saset option for more information on a specific option. The options will be set on the given nickname.
Access to this command requires the proper Services Operator permissions to be set.
===Syntax===
:/msg NickServ SASET AUTOOP nick ON_or_OFF
:/msg NickServ SASET DISPLAY nick nick_to_display_as_master_for_nick_group
:/msg NickServ SASET EMAIL nick your@email.address.here
:/msg NickServ SASET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SASET HIDE nick EMAIL ON_or_OFF
:/msg NickServ SASET HIDE nick STATUS ON_of_OFF
:/msg NickServ SASET HIDE nick USERMASK ON_or_OFF
:/msg NickServ SASET HIDE nick QUIT ON_or_OFF
:/msg NickServ SASET KEEPMODES nick ON_or_OFF
:/msg NickServ SASET KILL nick ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SASET LANGUAGE nick Your_language_code_here
:/msg NickServ SASET NOEXPIRE nick ON_or_OFF
:/msg NickServ SASET PASSWORD nick your_new_password_here
:/msg NickServ SASET SECURE nick ON_or_OFF
:/msg NickServ SASET URL nick Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SASET AUTOOP Freddy OFF
:/msg NickServ SASET DISPLAY Freddy Freddy
:/msg NickServ SASET EMAIL Freddy Freddy@dreamscape.org
:/msg NickServ SASET GREET Freddy I come out of your nightmares to bring death and destruction
:/msg NickServ SASET HIDE Freddy EMAIL ON
:/msg NickServ SASET HIDE Freddy STATUS ON
:/msg NickServ SASET HIDE Freddy USERMASK ON
:/msg NickServ SASET HIDE Freddy QUIT OFF
:/msg NickServ SASET KEEPMODES Freddy ON
:/msg NickServ SASET KILL Freddy ON
:/msg NickServ SASET LANGUAGE Freddy en_US
:/msg NickServ SASET PASSWORD Freddy IKillPeopleInTheirSleep
:/msg NickServ SASET SECURE Freddy ON
:/msg NickServ SASET URL Freddy http://nightmare.onelmstreet.us
== <div class="moduleheader">Suspend</div> ==
Suspends a registered nickname, which prevents it from being used while keeping all the data for that nick. If an expiry is given the nick will be unsuspended after that period of time, else the default expiry from the configuration is used.
Access to this command requires the proper Servvices Operator permissions to be set you.
===Syntax===
:/msg NickServ SUSPEND nickname +optional_expire_length Optionsal_reason
===Examples===
:/msg NickServ SUSPEND Jason +30d You have been vanquished. Come back in 30 days.
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
a89efc9af300852d091ea8b6cee9cf1ab8dcd9ba
1122
1121
2015-04-01T21:00:36Z
Azander
9
/* SaSet */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin</div>==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
Sends a passcode to the nickname with instructions on how to reset their password. Email must be the email address associated to the nickname.
===Syntax===
:/msg NickServ RESETPASS nickname email
===Examples===
:/msg NickServ RESETPASS Freddy Freddy@elmstreet.com
== <div class="moduleheader">Set</div> ==
Sets various nickname options.
the option can be one of:
:;SET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SET DISPLAY :Set the display of your group in Services
:;SET EMAIL :Associate an E-mail address with your nickname
:;SET FACEBOOK :Associate a Facebook URL with your account
:;SET GREET :Associate a greet message with your nickname, displayed when you join a channel
:;SET HIDE :Hide certain pieces of nickname information
:;SET KEEPMODES :Enable or disable keep modes
:;SET KILL :Turn protection on or off
:;SET LANGUAGE :Set the language Services will use when messaging you, see /msg NickServ HELP SET LANGUAGE for list of available languages
:;SET PASSWORD :Set your nickname password
:;SET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SET SECURE :Turn nickname security on or off
:;SET TWITTER :Associate a Twitter account with your account
:;SET URL :Associate a URL with your account
===Syntax===
:/msg NickServ SET AUTOOP ON_or_OFF
:/msg NickServ SET DISPLAY nick_to_display_as_master_for_nick_group
:/msg NickServ SET EMAIL your@email.address.here
:/msg NickServ SET FACEBOOK your_facebook_address_here_leave_empty_to_disable
:/msg NickServ SET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SET HIDE EMAIL ON_or_OFF
:/msg NickServ SET HIDE STATUS ON_of_OFF
:/msg NickServ SET HIDE USERMASK ON_or_OFF
:/msg NickServ SET HIDE QUIT ON_or_OFF
:/msg NickServ SET KILL ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SET LANGUAGE Your_language_code_here
:/msg NickServ SET PASSWORD your_new_password_here
:/msg NickServ SET SECURE ON_or_OFF
:/msg NickServ SET TWITTER Your_twitter_handle_here_or_blank_to_disable
:/msg NickServ SET URL Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SET AUTOOP OFF
:/msg NickServ SET DISPLAY Freddy
:/msg NickServ SET EMAIL Freddy@dreamscape.org
:/msg NickServ SET FACEBOOK FreddyKrugerLives
:/msg NickServ SET GREET I come out of your nightmares to bring death and destruction
:/msg NickServ SET HIDE EMAIL ON
:/msg NickServ SET HIDE STATUS ON
:/msg NickServ SET HIDE USERMASK ON
:/msg NickServ SET HIDE QUIT OFF
:/msg NickServ SET KILL ON
:/msg NickServ SET LANGUAGE en_US
:/msg NickServ SET PASSWORD IKillPeopleInTheirSleep
:/msg NickServ SET SECURE ON
:/msg NickServ SET TWITTER @FreddyKrugerLives
:/msg NickServ SET URL http://nightmare.onelmstreet.us
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
===Syntax===
:/msg NickServ UPDATE
===Examples===
:/msg NickServ UPDATE
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged. This requires a Services Operator with the correct permissions to use it.
===Syntax===
:/msg NickServ GETEMAIL email@address.goes.here
===Examples===
:/msg NickServ GETEMAIL freddy@elmstreet.com
== <div class="moduleheader">SaSet</div> ==
Sets various nickname options. option can be one of:
:;SASET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SASET DISPLAY :Set the display of your group in Services
:;SASET EMAIL :Associate an E-mail address with your nickname
:;SASET GREET :Associate a greet message with your nickname
:;SASET HIDE :Hide certain pieces of nickname information
:;SASET KEEPMODES :Enable or disable keep modes
:;SASET KILL :Turn protection on or off
:;SASET LANGUAGE :Set the language Services will use when messaging you
:;SASET NOEXPIRE :Prevent the nickname from expiring
:;SASET PASSWORD :Set the nickname password
:;SASET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SASET SECURE :Turn nickname security on or off
:;SASET URL :Associate a URL with this account
Type /msg NickServ HELP saset option for more information on a specific option. The options will be set on the given nickname.
Access to this command requires the proper Services Operator permissions to be set.
===Syntax===
:/msg NickServ SASET AUTOOP nick ON_or_OFF
:/msg NickServ SASET DISPLAY nick nick_to_display_as_master_for_nick_group
:/msg NickServ SASET EMAIL nick your@email.address.here
:/msg NickServ SASET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SASET HIDE nick EMAIL ON_or_OFF
:/msg NickServ SASET HIDE nick STATUS ON_of_OFF
:/msg NickServ SASET HIDE nick USERMASK ON_or_OFF
:/msg NickServ SASET HIDE nick QUIT ON_or_OFF
:/msg NickServ SASET KEEPMODES nick ON_or_OFF
:/msg NickServ SASET KILL nick ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SASET LANGUAGE nick Your_language_code_here
:/msg NickServ SASET NOEXPIRE nick ON_or_OFF
:/msg NickServ SASET PASSWORD nick your_new_password_here
:/msg NickServ SASET SECURE nick ON_or_OFF
:/msg NickServ SASET URL nick Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SASET AUTOOP Freddy OFF
:/msg NickServ SASET DISPLAY Freddy Freddy
:/msg NickServ SASET EMAIL Freddy Freddy@dreamscape.org
:/msg NickServ SASET GREET Freddy I come out of your nightmares to bring death and destruction
:/msg NickServ SASET HIDE Freddy EMAIL ON
:/msg NickServ SASET HIDE Freddy STATUS ON
:/msg NickServ SASET HIDE Freddy USERMASK ON
:/msg NickServ SASET HIDE Freddy QUIT OFF
:/msg NickServ SASET KEEPMODES Freddy ON
:/msg NickServ SASET KILL Freddy ON
:/msg NickServ SASET LANGUAGE Freddy en_US
:/msg NickServ SASET PASSWORD Freddy IKillPeopleInTheirSleep
:/msg NickServ SASET SECURE Freddy ON
:/msg NickServ SASET URL Freddy http://nightmare.onelmstreet.us
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
bcb5c8d1e78ebf2bf35437f1586ad7007967ee8b
1121
1120
2015-04-01T20:58:59Z
Azander
9
/* SaSet */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin</div>==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
Sends a passcode to the nickname with instructions on how to reset their password. Email must be the email address associated to the nickname.
===Syntax===
:/msg NickServ RESETPASS nickname email
===Examples===
:/msg NickServ RESETPASS Freddy Freddy@elmstreet.com
== <div class="moduleheader">Set</div> ==
Sets various nickname options.
the option can be one of:
:;SET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SET DISPLAY :Set the display of your group in Services
:;SET EMAIL :Associate an E-mail address with your nickname
:;SET FACEBOOK :Associate a Facebook URL with your account
:;SET GREET :Associate a greet message with your nickname, displayed when you join a channel
:;SET HIDE :Hide certain pieces of nickname information
:;SET KEEPMODES :Enable or disable keep modes
:;SET KILL :Turn protection on or off
:;SET LANGUAGE :Set the language Services will use when messaging you, see /msg NickServ HELP SET LANGUAGE for list of available languages
:;SET PASSWORD :Set your nickname password
:;SET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SET SECURE :Turn nickname security on or off
:;SET TWITTER :Associate a Twitter account with your account
:;SET URL :Associate a URL with your account
===Syntax===
:/msg NickServ SET AUTOOP ON_or_OFF
:/msg NickServ SET DISPLAY nick_to_display_as_master_for_nick_group
:/msg NickServ SET EMAIL your@email.address.here
:/msg NickServ SET FACEBOOK your_facebook_address_here_leave_empty_to_disable
:/msg NickServ SET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SET HIDE EMAIL ON_or_OFF
:/msg NickServ SET HIDE STATUS ON_of_OFF
:/msg NickServ SET HIDE USERMASK ON_or_OFF
:/msg NickServ SET HIDE QUIT ON_or_OFF
:/msg NickServ SET KILL ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SET LANGUAGE Your_language_code_here
:/msg NickServ SET PASSWORD your_new_password_here
:/msg NickServ SET SECURE ON_or_OFF
:/msg NickServ SET TWITTER Your_twitter_handle_here_or_blank_to_disable
:/msg NickServ SET URL Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SET AUTOOP OFF
:/msg NickServ SET DISPLAY Freddy
:/msg NickServ SET EMAIL Freddy@dreamscape.org
:/msg NickServ SET FACEBOOK FreddyKrugerLives
:/msg NickServ SET GREET I come out of your nightmares to bring death and destruction
:/msg NickServ SET HIDE EMAIL ON
:/msg NickServ SET HIDE STATUS ON
:/msg NickServ SET HIDE USERMASK ON
:/msg NickServ SET HIDE QUIT OFF
:/msg NickServ SET KILL ON
:/msg NickServ SET LANGUAGE en_US
:/msg NickServ SET PASSWORD IKillPeopleInTheirSleep
:/msg NickServ SET SECURE ON
:/msg NickServ SET TWITTER @FreddyKrugerLives
:/msg NickServ SET URL http://nightmare.onelmstreet.us
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
===Syntax===
:/msg NickServ UPDATE
===Examples===
:/msg NickServ UPDATE
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged. This requires a Services Operator with the correct permissions to use it.
===Syntax===
:/msg NickServ GETEMAIL email@address.goes.here
===Examples===
:/msg NickServ GETEMAIL freddy@elmstreet.com
== <div class="moduleheader">SaSet</div> ==
Sets various nickname options. option can be one of:
:;SASET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SASET DISPLAY :Set the display of your group in Services
:;SASET EMAIL :Associate an E-mail address with your nickname
:;SASET GREET :Associate a greet message with your nickname
:;SASET HIDE :Hide certain pieces of nickname information
:;SASET KEEPMODES :Enable or disable keep modes
:;SASET KILL :Turn protection on or off
:;SASET LANGUAGE :Set the language Services will use when messaging you
:;SASET NOEXPIRE :Prevent the nickname from expiring
:;SASET PASSWORD :Set the nickname password
:;SASET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SASET SECURE :Turn nickname security on or off
:;SASET URL :Associate a URL with this account
Type /msg NickServ HELP saset option for more information on a specific option. The options will be set on the given nickname.
Access to this command requires the proper Services Operator permissions to be set.
===Syntax===
:/msg NickServ SASET AUTOOP ON_or_OFF
:/msg NickServ SASET DISPLAY nick_to_display_as_master_for_nick_group
:/msg NickServ SASET EMAIL your@email.address.here
:/msg NickServ SASET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SASET HIDE EMAIL ON_or_OFF
:/msg NickServ SASET HIDE STATUS ON_of_OFF
:/msg NickServ SASET HIDE USERMASK ON_or_OFF
:/msg NickServ SASET HIDE QUIT ON_or_OFF
:/msg NickServ SASET KEEPMODES ON_or_OFF
:/msg NickServ SASET KILL ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SASET LANGUAGE Your_language_code_here
:/msg NickServ SASET NOEXPIRE ON_or_OFF
:/msg NickServ SASET PASSWORD your_new_password_here
:/msg NickServ SASET SECURE ON_or_OFF
:/msg NickServ SASET URL Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SASET AUTOOP OFF
:/msg NickServ SASET DISPLAY Freddy
:/msg NickServ SASET EMAIL Freddy@dreamscape.org
:/msg NickServ SASET GREET I come out of your nightmares to bring death and destruction
:/msg NickServ SASET HIDE EMAIL ON
:/msg NickServ SASET HIDE STATUS ON
:/msg NickServ SASET HIDE USERMASK ON
:/msg NickServ SASET HIDE QUIT OFF
:/msg NickServ SASET KEEPMODES ON
:/msg NickServ SASET KILL ON
:/msg NickServ SASET LANGUAGE en_US
:/msg NickServ SASET PASSWORD IKillPeopleInTheirSleep
:/msg NickServ SASET SECURE ON
:/msg NickServ SASET URL http://nightmare.onelmstreet.us
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
12160090ca7650e11f707aa5d5bf8ecf6094a770
1120
1119
2015-04-01T20:50:09Z
Azander
9
/* NickServ Commands */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin</div>==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
Sends a passcode to the nickname with instructions on how to reset their password. Email must be the email address associated to the nickname.
===Syntax===
:/msg NickServ RESETPASS nickname email
===Examples===
:/msg NickServ RESETPASS Freddy Freddy@elmstreet.com
== <div class="moduleheader">Set</div> ==
Sets various nickname options.
the option can be one of:
:;SET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SET DISPLAY :Set the display of your group in Services
:;SET EMAIL :Associate an E-mail address with your nickname
:;SET FACEBOOK :Associate a Facebook URL with your account
:;SET GREET :Associate a greet message with your nickname, displayed when you join a channel
:;SET HIDE :Hide certain pieces of nickname information
:;SET KEEPMODES :Enable or disable keep modes
:;SET KILL :Turn protection on or off
:;SET LANGUAGE :Set the language Services will use when messaging you, see /msg NickServ HELP SET LANGUAGE for list of available languages
:;SET PASSWORD :Set your nickname password
:;SET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SET SECURE :Turn nickname security on or off
:;SET TWITTER :Associate a Twitter account with your account
:;SET URL :Associate a URL with your account
===Syntax===
:/msg NickServ SET AUTOOP ON_or_OFF
:/msg NickServ SET DISPLAY nick_to_display_as_master_for_nick_group
:/msg NickServ SET EMAIL your@email.address.here
:/msg NickServ SET FACEBOOK your_facebook_address_here_leave_empty_to_disable
:/msg NickServ SET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SET HIDE EMAIL ON_or_OFF
:/msg NickServ SET HIDE STATUS ON_of_OFF
:/msg NickServ SET HIDE USERMASK ON_or_OFF
:/msg NickServ SET HIDE QUIT ON_or_OFF
:/msg NickServ SET KILL ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SET LANGUAGE Your_language_code_here
:/msg NickServ SET PASSWORD your_new_password_here
:/msg NickServ SET SECURE ON_or_OFF
:/msg NickServ SET TWITTER Your_twitter_handle_here_or_blank_to_disable
:/msg NickServ SET URL Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SET AUTOOP OFF
:/msg NickServ SET DISPLAY Freddy
:/msg NickServ SET EMAIL Freddy@dreamscape.org
:/msg NickServ SET FACEBOOK FreddyKrugerLives
:/msg NickServ SET GREET I come out of your nightmares to bring death and destruction
:/msg NickServ SET HIDE EMAIL ON
:/msg NickServ SET HIDE STATUS ON
:/msg NickServ SET HIDE USERMASK ON
:/msg NickServ SET HIDE QUIT OFF
:/msg NickServ SET KILL ON
:/msg NickServ SET LANGUAGE en_US
:/msg NickServ SET PASSWORD IKillPeopleInTheirSleep
:/msg NickServ SET SECURE ON
:/msg NickServ SET TWITTER @FreddyKrugerLives
:/msg NickServ SET URL http://nightmare.onelmstreet.us
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
===Syntax===
:/msg NickServ UPDATE
===Examples===
:/msg NickServ UPDATE
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged. This requires a Services Operator with the correct permissions to use it.
===Syntax===
:/msg NickServ GETEMAIL email@address.goes.here
===Examples===
:/msg NickServ GETEMAIL freddy@elmstreet.com
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
1bde6568bf6f241c85b2c680f0bb231590166417
1119
1118
2015-04-01T20:48:58Z
Azander
9
/* ResetPass */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
Sends a passcode to the nickname with instructions on how to reset their password. Email must be the email address associated to the nickname.
===Syntax===
:/msg NickServ RESETPASS nickname email
===Examples===
:/msg NickServ RESETPASS Freddy Freddy@elmstreet.com
== <div class="moduleheader">Set</div> ==
Sets various nickname options.
the option can be one of:
:;SET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SET DISPLAY :Set the display of your group in Services
:;SET EMAIL :Associate an E-mail address with your nickname
:;SET FACEBOOK :Associate a Facebook URL with your account
:;SET GREET :Associate a greet message with your nickname, displayed when you join a channel
:;SET HIDE :Hide certain pieces of nickname information
:;SET KEEPMODES :Enable or disable keep modes
:;SET KILL :Turn protection on or off
:;SET LANGUAGE :Set the language Services will use when messaging you, see /msg NickServ HELP SET LANGUAGE for list of available languages
:;SET PASSWORD :Set your nickname password
:;SET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SET SECURE :Turn nickname security on or off
:;SET TWITTER :Associate a Twitter account with your account
:;SET URL :Associate a URL with your account
===Syntax===
:/msg NickServ SET AUTOOP ON_or_OFF
:/msg NickServ SET DISPLAY nick_to_display_as_master_for_nick_group
:/msg NickServ SET EMAIL your@email.address.here
:/msg NickServ SET FACEBOOK your_facebook_address_here_leave_empty_to_disable
:/msg NickServ SET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SET HIDE EMAIL ON_or_OFF
:/msg NickServ SET HIDE STATUS ON_of_OFF
:/msg NickServ SET HIDE USERMASK ON_or_OFF
:/msg NickServ SET HIDE QUIT ON_or_OFF
:/msg NickServ SET KILL ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SET LANGUAGE Your_language_code_here
:/msg NickServ SET PASSWORD your_new_password_here
:/msg NickServ SET SECURE ON_or_OFF
:/msg NickServ SET TWITTER Your_twitter_handle_here_or_blank_to_disable
:/msg NickServ SET URL Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SET AUTOOP OFF
:/msg NickServ SET DISPLAY Freddy
:/msg NickServ SET EMAIL Freddy@dreamscape.org
:/msg NickServ SET FACEBOOK FreddyKrugerLives
:/msg NickServ SET GREET I come out of your nightmares to bring death and destruction
:/msg NickServ SET HIDE EMAIL ON
:/msg NickServ SET HIDE STATUS ON
:/msg NickServ SET HIDE USERMASK ON
:/msg NickServ SET HIDE QUIT OFF
:/msg NickServ SET KILL ON
:/msg NickServ SET LANGUAGE en_US
:/msg NickServ SET PASSWORD IKillPeopleInTheirSleep
:/msg NickServ SET SECURE ON
:/msg NickServ SET TWITTER @FreddyKrugerLives
:/msg NickServ SET URL http://nightmare.onelmstreet.us
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
===Syntax===
:/msg NickServ UPDATE
===Examples===
:/msg NickServ UPDATE
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged. This requires a Services Operator with the correct permissions to use it.
===Syntax===
:/msg NickServ GETEMAIL email@address.goes.here
===Examples===
:/msg NickServ GETEMAIL freddy@elmstreet.com
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
dd6f2c561f568b3504971e7ef52eff53172956da
1118
1117
2015-04-01T20:45:41Z
Azander
9
/* GetEmail */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
Sets various nickname options.
the option can be one of:
:;SET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SET DISPLAY :Set the display of your group in Services
:;SET EMAIL :Associate an E-mail address with your nickname
:;SET FACEBOOK :Associate a Facebook URL with your account
:;SET GREET :Associate a greet message with your nickname, displayed when you join a channel
:;SET HIDE :Hide certain pieces of nickname information
:;SET KEEPMODES :Enable or disable keep modes
:;SET KILL :Turn protection on or off
:;SET LANGUAGE :Set the language Services will use when messaging you, see /msg NickServ HELP SET LANGUAGE for list of available languages
:;SET PASSWORD :Set your nickname password
:;SET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SET SECURE :Turn nickname security on or off
:;SET TWITTER :Associate a Twitter account with your account
:;SET URL :Associate a URL with your account
===Syntax===
:/msg NickServ SET AUTOOP ON_or_OFF
:/msg NickServ SET DISPLAY nick_to_display_as_master_for_nick_group
:/msg NickServ SET EMAIL your@email.address.here
:/msg NickServ SET FACEBOOK your_facebook_address_here_leave_empty_to_disable
:/msg NickServ SET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SET HIDE EMAIL ON_or_OFF
:/msg NickServ SET HIDE STATUS ON_of_OFF
:/msg NickServ SET HIDE USERMASK ON_or_OFF
:/msg NickServ SET HIDE QUIT ON_or_OFF
:/msg NickServ SET KILL ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SET LANGUAGE Your_language_code_here
:/msg NickServ SET PASSWORD your_new_password_here
:/msg NickServ SET SECURE ON_or_OFF
:/msg NickServ SET TWITTER Your_twitter_handle_here_or_blank_to_disable
:/msg NickServ SET URL Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SET AUTOOP OFF
:/msg NickServ SET DISPLAY Freddy
:/msg NickServ SET EMAIL Freddy@dreamscape.org
:/msg NickServ SET FACEBOOK FreddyKrugerLives
:/msg NickServ SET GREET I come out of your nightmares to bring death and destruction
:/msg NickServ SET HIDE EMAIL ON
:/msg NickServ SET HIDE STATUS ON
:/msg NickServ SET HIDE USERMASK ON
:/msg NickServ SET HIDE QUIT OFF
:/msg NickServ SET KILL ON
:/msg NickServ SET LANGUAGE en_US
:/msg NickServ SET PASSWORD IKillPeopleInTheirSleep
:/msg NickServ SET SECURE ON
:/msg NickServ SET TWITTER @FreddyKrugerLives
:/msg NickServ SET URL http://nightmare.onelmstreet.us
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
===Syntax===
:/msg NickServ UPDATE
===Examples===
:/msg NickServ UPDATE
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged. This requires a Services Operator with the correct permissions to use it.
===Syntax===
:/msg NickServ GETEMAIL email@address.goes.here
===Examples===
:/msg NickServ GETEMAIL freddy@elmstreet.com
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
e35a60a33e4bd27a0d887be3b71659ffc0529781
1117
1116
2015-03-03T23:37:48Z
Azander
9
/* Set */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
Sets various nickname options.
the option can be one of:
:;SET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SET DISPLAY :Set the display of your group in Services
:;SET EMAIL :Associate an E-mail address with your nickname
:;SET FACEBOOK :Associate a Facebook URL with your account
:;SET GREET :Associate a greet message with your nickname, displayed when you join a channel
:;SET HIDE :Hide certain pieces of nickname information
:;SET KEEPMODES :Enable or disable keep modes
:;SET KILL :Turn protection on or off
:;SET LANGUAGE :Set the language Services will use when messaging you, see /msg NickServ HELP SET LANGUAGE for list of available languages
:;SET PASSWORD :Set your nickname password
:;SET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SET SECURE :Turn nickname security on or off
:;SET TWITTER :Associate a Twitter account with your account
:;SET URL :Associate a URL with your account
===Syntax===
:/msg NickServ SET AUTOOP ON_or_OFF
:/msg NickServ SET DISPLAY nick_to_display_as_master_for_nick_group
:/msg NickServ SET EMAIL your@email.address.here
:/msg NickServ SET FACEBOOK your_facebook_address_here_leave_empty_to_disable
:/msg NickServ SET GREET Message_goes_here_leave_empty_to_disable
:/msg NickServ SET HIDE EMAIL ON_or_OFF
:/msg NickServ SET HIDE STATUS ON_of_OFF
:/msg NickServ SET HIDE USERMASK ON_or_OFF
:/msg NickServ SET HIDE QUIT ON_or_OFF
:/msg NickServ SET KILL ON_or_QUICK_or_IMMED_or_OFF
:/msg NickServ SET LANGUAGE Your_language_code_here
:/msg NickServ SET PASSWORD your_new_password_here
:/msg NickServ SET SECURE ON_or_OFF
:/msg NickServ SET TWITTER Your_twitter_handle_here_or_blank_to_disable
:/msg NickServ SET URL Your_website_address_here_or_blank_to_disable
===Examples===
:/msg NickServ SET AUTOOP OFF
:/msg NickServ SET DISPLAY Freddy
:/msg NickServ SET EMAIL Freddy@dreamscape.org
:/msg NickServ SET FACEBOOK FreddyKrugerLives
:/msg NickServ SET GREET I come out of your nightmares to bring death and destruction
:/msg NickServ SET HIDE EMAIL ON
:/msg NickServ SET HIDE STATUS ON
:/msg NickServ SET HIDE USERMASK ON
:/msg NickServ SET HIDE QUIT OFF
:/msg NickServ SET KILL ON
:/msg NickServ SET LANGUAGE en_US
:/msg NickServ SET PASSWORD IKillPeopleInTheirSleep
:/msg NickServ SET SECURE ON
:/msg NickServ SET TWITTER @FreddyKrugerLives
:/msg NickServ SET URL http://nightmare.onelmstreet.us
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
===Syntax===
:/msg NickServ UPDATE
===Examples===
:/msg NickServ UPDATE
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
38547a0f86baa8e57c1e2fd89204744287fc2b16
1116
1115
2015-03-03T23:24:43Z
Azander
9
/* Set */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
Sets various nickname options.
the option can be one of:
:;SET AUTOOP :Sets whether services should set channel status modes on you automatically.
:;SET DISPLAY :Set the display of your group in Services
:;SET EMAIL :Associate an E-mail address with your nickname
:;SET FACEBOOK :Associate a Facebook URL with your account
:;SET GREET :Associate a greet message with your nickname
:;SET HIDE :Hide certain pieces of nickname information
:;SET KEEPMODES :Enable or disable keep modes
:;SET KILL :Turn protection on or off
:;SET LANGUAGE :Set the language Services will use when messaging you
:;SET PASSWORD :Set your nickname password
:;SET PRIVATE :Prevent the nickname from appearing in the LIST command
:;SET SECURE :Turn nickname security on or off
:;SET TWITTER :Associate a Twitter account with your account
:;SET URL :Associate a URL with your account
===Syntax===
:/msg NickServ SET option_here paramaters_here
===Examples===
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
===Syntax===
:/msg NickServ UPDATE
===Examples===
:/msg NickServ UPDATE
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
a485090b29e80d3cc8abb8091086d918c44ab369
1115
1114
2015-03-03T23:17:09Z
Azander
9
/* Update */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
Updates your current status, i.e. it checks for new memos, sets needed channel modes and updates your vhost and your userflags (lastseentime, etc).
===Syntax===
:/msg NickServ UPDATE
===Examples===
:/msg NickServ UPDATE
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
4f2dadb159e12eb1739cb8b70d1b3c269d0cef34
1114
1113
2015-03-03T23:14:30Z
Azander
9
/* Status */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
Returns whether the user using the given nickname is recognized as the owner of the nickname. The response has this format:
nickname status-code account
where nickname is the nickname sent with the command, status-code is one of the following, and account is the account they are logged in as.
:::0 - no such user online or nickname not registered
:::1 - user not recognized as nickname's owner
:::2 - user recognized as owner via access list only
:::3 - user recognized as owner via password identification
If no nickname is given, your status will be returned.
===Syntax===
:/msg NickServ STATUS Optional_nick_here
===Examples===
:/msg NickServ STATUS
:/msg NickServ STATUS Freddy
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
df52a43b71287bc6e762369186a5db8c6bf8435b
1113
1112
2015-03-03T23:12:08Z
Azander
9
/* Register */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
Registers your nickname in the NickServ database. Once your nick is registered, you can use the SET and ACCESS commands to configure your nick's settings as you like them. Make sure you remember the password you use when registering - you'll need it to make changes to your nick later. (Note that case matters! ANOPE, Anope, and anope are all different passwords!)
Note that some networks may make the email address optional, but it is required by default.
Once you have issues the register command, check your email address for a confirmation code. Don't forget to check the trash, junk mail, and spam folders if you do nto receive the email in a reasonable (1 hour?) amount of time. This code expires, as does the registration, if not confirmed, in 1 day by default.
===Syntax===
:/msg NickServ REGISTER Password_here Email@address.here
===Examples===
:/msg NickServ REGISTER MyPassword Freddy@dreamscape.org
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
33cbdd9a264659e77082ee091e5b31f442e6b87c
1112
1111
2015-03-03T23:07:22Z
Azander
9
/* NickServ Commands */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
120d27ea63d19fc37a8eb6b72a382bcd23b0d765
1111
1110
2015-03-03T22:44:57Z
Azander
9
/* Recover */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
: * Also sometimes aliased to GHOST and RELEASE for backwards compatibility
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
c6198e846e634fce82a9bee193c9f6ba9d5c675f
1110
1109
2015-03-03T22:17:23Z
Azander
9
/* List */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to IrcOps with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for IrcOps to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to IrcOps with the correct permissions.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release for backwards compatibility
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
4f3fd7c657c65dea22280ac4c1fbd43f2ce3ac0c
1109
1108
2015-03-03T22:15:25Z
Azander
9
/* List */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
Lists all registered nicknames which match the given
pattern, in nick!user@host format. Nicks with the PRIVATE
option set will only be displayed to Services Operators with the
proper access. Nicks with the NOEXPIRE option set will have
a ! prefixed to the nickname for Services Operators to see.
Note that a preceding '#' specifies a range.
If the SUSPENDED, UNCONFIRMED or NOEXPIRE options are given, only
nicks which, respectively, are SUSPENDED, UNCONFIRMED or have the
NOEXPIRE flag set will be displayed. If multiple options are
given, all nicks matching at least one option will be displayed.
Note that these options are limited to Services Operators.
Regex matches are also supported using the regex/posix engine. Enclose your pattern in // if this is desired.
===Syntax===
:/msg NickServ LIST pattern optional_keyword_SUSPENDED optional_keyword_NOEXPIRE optional_keyword_UNCONFIRMED
===Examples===
:/msg NickServ LIST *!joeuser@foo.com
::Lists all registered nicks owned by joeuser@foo.com.
:/msg NickServ LIST *Bot*!*@*
::Lists all registered nicks with Bot in their names (case insensitive).
:/msg NickServ LIST * NOEXPIRE
::Lists all registered nicks which have been set to not expire.
:/msg NickServ LIST #51-100
::Lists all registered nicks within the given range (51-100).
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release for backwards compatibility
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
b1e7aabd6af2eccb43494e8f8371250c299c2edf
1108
1107
2015-03-03T22:02:32Z
Azander
9
/* NickServ Commands */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:Standard User
::/msg NickServ LOGOUT
:'''IrcOps my specify a nick to remove the identified status of another without notice'''
::/msg NickServ Logout Freddy
:'''IrcOps my specify a nick and REVALIDATE to remove the identified status of another asking them to Re-Identify'''
::/msg NickServ Logout Freddy REVALIDATE
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release for backwards compatibility
Recovers your nick from another user or from services. If services are currently holding your nick, the hold will be released. If another user is holding your nick
and is identified they will be killed (similar to the old GHOST command). If they are not identified they will be forced off of the nick.
===Syntax===
:/msg NickServ RECOVER Nick_goes_here semi-optional_password_goes_here
===Examples===
:/msg NickServ RECOVER Freddy Mypassword
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
f434ac904611dcc9b59ec46c9e0f4f719b6ef1c4
1107
1106
2015-03-03T21:54:23Z
Azander
9
/* Logout */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
Without a parameter, reverses the effect of the IDENTIFY command, i.e. make you not recognized as the real owner of the nick anymore. Note, however, that you won't be asked to reidentify yourself.
With a parameter, does the same for the given nick. If you specify REVALIDATE as well, Services will ask the given nick to re-identify. This is limited to Services IrcOps.
===Syntax===
:/msg NickServ LOGOUT optional_nick_here Optional_word_'REVALIDATE'_here
===Examples===
:/msg NickServ LOGOUT
:/msg NickServ Logout Freddy REVALIDATE
::IRCOP only
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
0ec7426ebc605b0abd3be9ddd517af18a6a03f1f
1106
1105
2015-03-03T21:50:58Z
Azander
9
/* Info */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
:/msg NickServ INFO optional_nick_here
===Examples===
:/msg NickServ INFO
:/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
cc396ec676a13ca92f822e6a606e2d995ca3e293
1105
1101
2015-03-03T21:50:26Z
Azander
9
/* Info */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
Displays information about the given nickname, such as the nick's owner, last seen address and time, and nick options. If no nick is given, and you are identified, your account name is used, else your current nickname is used.
This information can be masked with several other NickServ settings. See /msg NickServ SET elsewhere on this page.
===Syntax===
/msg NickServ INFO optional_nick_here
===Examples===
/msg NickServ INFO
/msg NickServ INFO Freddy
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
16fdec1a6f56942b58c0c23778dcc93ac3cbfa84
1101
1100
2015-02-14T18:06:38Z
Azander
9
/* Identify */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
Tells NickServ that you are really the owner of this nick. Many commands require you to authenticate yourself with this command before you use them. The password should be the same one you sent with the "/msg NickServ REGISTER" command.
'''NOTE''': Some networks alias this command to "/msg NickServ ID"
===Syntax===
: /msg NickServ IDENTIFY optional_nick_here password_here
===Examples===
: /msg NickServ IDENTIFY ISlayInDreams
: /msg NickSerc IDENTIFY FreddyK ISlayInDreams
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
0e502d6c50983a64ae4e6ed639f31ff0c51cf9ce
1100
1099
2015-02-14T17:59:23Z
Azander
9
/* Group */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
: /msg NickServ GLIST
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
: /msg NickServ GLIST
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
b0e612c505e3fa4d23c776126911730ff220491d
1099
1098
2015-02-14T16:52:15Z
Azander
9
/* Help */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
== <div class="moduleheader">Help</div> ==
Shows a list of commands available to you. If you do not have access to a command, it is normally not shown.
===Syntax===
: /msg NickServ HELP
===Examples===
: /msg NickServ HELP
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
d14890fc17b7c6b8f50d63099b75409f65933ccd
1098
1097
2015-02-14T16:49:58Z
Azander
9
/* Group and ungroup addition */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetEmail</div> ==
Returns the matching nicks that used given email. Note that you can not use wildcards. Whenever this command is used, a message including the person who issued the command and the email it was used on will be logged.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETEMAIL Email@address.goes.here
===Examples===
: /msg NiskServ GETMAIL FreddyK@dreamscape.net
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
This command makes your nickname join the target nickname's group. password is the password of the target nickname.
Joining a group will allow you to share your configuration, memos, and channel privileges with all the nicknames in the group, and much more!
A group exists as long as it is useful. This means that even if a nick of the group is dropped, you won't lose the shared things described above, as long as there is at least one nick remaining in the group.
You may be able to use this command even if you have not registered your nick yet. If your nick is already registered, you'll need to identify yourself before using this command.
It is recommended to use this command with a non-registered nick because it will be registered automatically when using this command. You may use it with a registered nick (to change your group) only if your network administrators allowed it.
You can only be in one group at a time. Group merging is not possible.
'''Note''': all the nicknames of a group have the same password.
===Syntax===
: /msg NickServ GROUP main_nick_here main_nicks_password_here
===Examples===
: /msg NickServ GROUP Freddy IKillPeoleInTheirSleep
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
This command ungroups your nick, or if given, the specificed nick, from the group it is in. The ungrouped nick keeps its registration
time, password, email, greet, language, and url. Everything else is reset. You may not ungroup yourself if there is only one nick in
your group.
===Syntax===
: /msg NickServ UNGROUP Optional_nick_here
===Examples===
: /msg NickServ UNGROUP
: /msg NickServ UNGROUP Freddy_K
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
c6ebe28891dcc6dcb0b18e751ccca08a2f54176d
1097
1096
2015-02-14T16:41:24Z
Azander
9
/* GetPass */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetPass</div> ==
Returns the password for the given nickname. Note that whenever this command is used, a message including the person who issued the command and the nickname it was used on will be logged and sent out as a WALLOPS/GLOBOPS.
'''NOTE:''' Access to this command requires the correct permissions to be present in your opertype.
===Syntax===
: /msg NickServ GETPASS Nick_goes_here
===Examples===
: /msg NickServ GETPASS Freddy
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
6a31e87366899f59a0ec1528e71acefb9ce040a8
1096
1095
2015-02-14T16:39:31Z
Azander
9
/* Forbid */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
This is often times aliased to the "/msg OperServ FORBID" comamnd. See OperServ's FORBID command for details.
'''NOTE''': Access to this command requires the proper permissions to be present in your opertype.
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
0e285316b549a55c98d5c39da6ffe04e94c2a9cf
1095
1094
2015-02-14T16:34:06Z
Azander
9
/* Cert */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
d164dbc6583d01639145e643b6d6c847ef911313
1094
1093
2015-02-11T16:40:59Z
Azander
9
/* Drop */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD certificate_fingerprint_here
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD 9b36dd3abd5
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
Drops the currently in-use, and identified for nick from the database. Once your nickname is dropped you may lose all of your access and channels that you may own. Any other user will also have the option to register the nick.
IRC Services Operators, can drop any nick, not just their own.
===Syntax===
:;'''Standard User'''
:: /msg NickServ DROP
:;'''Services Operator'''
:: /msg NickServ DROP Nick_goes_here
===Examples===
: /msg NickServ DROP
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
a760aa8c2b70ce756d32ef541c8060258c614c91
1093
1092
2015-02-11T16:32:02Z
Azander
9
/* Added CERT and CONFIRM comands */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Cert</div> ==
Modifies or displays the certificate list for your nick. If you connect to IRC and provide a client certificate with a matching fingerprint in the cert list, your nick will be automatically identified to services. Services Operators may provide a nick to modify other users' certificate lists.
'''<div style="color: red; display: inline;">NOTE</div>''': Not available on all IRC netowrks. ''Disabled by default.''
===Syntax===
:;'''Add to the Certificate list'''
: /msg NickServ CERT ADD certificate_fingerprint_here
:;'''Remove from the Certificate list'''
: /msg NickServ CERT DEL certificate_fingerprint_here
:;'''List available Certificates'''
: /msg NickServ CERT LSIT
===Examples===
: /msg NickServ CERT LIST
: /msg NickServ CERT DEL f4e5a234b9
: /msg NickServ CERT ADD 9b36dd3abd5
== <div class="moduleheader">Confirm</div> ==
This command is used by several commands as a way to confirm changes made to your account.
This is most commonly used to confirm your email address once you register or change it.
This is also used after the RESETPASS command has been used to force identify you to your nick so you may change your password. Additionally, Services Operators with the correct access permissions can replace passcode with a users nick to force validate them.
'''NOTE''': Confirmation codes are case sensitive.
===Syntax===
: /msg NickServ CONFIRM confirmation_code_goes_here
===Examples===
: /msg NickServ CONFIRM H49dlTa9
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
25f9cd3ea5cff7bf3a35447f7b7e7ee28891222c
1092
1091
2015-02-10T21:13:16Z
Azander
9
/* Syntax */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
81f4cf6d110c59b269fdee7ee8f721ab299ed769
1091
1090
2015-02-10T21:12:46Z
Azander
9
/* AJoin */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:: /NickServ ALIST
:: /ns ALIST
:: /msg NickServ@services.yournetwork.com ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
314300fe8ea931ec900059d060f48f01e006070b
1090
1089
2015-02-10T21:12:15Z
Azander
9
/* Syntax */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /msg NickServ ACCESS LIST
: '''Add to your access list'''
:: /msg NickServ ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:: /NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:: /ns AJOIN ADD #channel_name channel_entry_password_if_needed
:: /msg NickServ@services.yournetwork.com AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:: /NickServ AJOIN DEL #channel_name
:: /ns AJOIN DEL #channel_name
:: /msg NickServ@services_yournetwork.com AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:: /NickServ AJOIN LIST
:: /ns AJOIN LIST
:: /msg NickServ@services.yournetwork.com AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:: /NickServ ALIST
:: /ns ALIST
:: /msg NickServ@services.yournetwork.com ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
3a5d629dc00d4246e7f3f3bf20fb74a0ebd20e72
1089
1088
2015-02-09T22:53:26Z
Azander
9
/* AList */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:: /NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:: /ns AJOIN ADD #channel_name channel_entry_password_if_needed
:: /msg NickServ@services.yournetwork.com AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:: /NickServ AJOIN DEL #channel_name
:: /ns AJOIN DEL #channel_name
:: /msg NickServ@services_yournetwork.com AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:: /NickServ AJOIN LIST
:: /ns AJOIN LIST
:: /msg NickServ@services.yournetwork.com AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
Lists all channels you have access on.
Channels that have the NOEXPIRE option set will be prefixed by an exclamation mark. The nickname parameter is limited to Services Operators
===Syntax===
:'''Standard command'''
:: /msg NickServ ALIST
:: /NickServ ALIST
:: /ns ALIST
:: /msg NickServ@services.yournetwork.com ALIST
:'''IRC Operator/Services Operator command allows for looking at other people's lists'''
:: /msg NickServ nick_here ALIST
===Examples===
:: /msg NickServ ALIST
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
a66b62a116a0227fed795f4abff55428c441f927
1088
1087
2015-02-09T22:37:43Z
Azander
9
/* AJoin */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:: /NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:: /ns AJOIN ADD #channel_name channel_entry_password_if_needed
:: /msg NickServ@services.yournetwork.com AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:: /NickServ AJOIN DEL #channel_name
:: /ns AJOIN DEL #channel_name
:: /msg NickServ@services_yournetwork.com AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:: /NickServ AJOIN LIST
:: /ns AJOIN LIST
:: /msg NickServ@services.yournetwork.com AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
f23caefe0ab49eeff1c175eca70b18c0dcaa8dbe
1087
1086
2015-02-09T22:36:05Z
Azander
9
/* Syntax */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:'''IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
The auto join list is a way to automatically, if your IRC Network supports it, rejoin channels after you identify to NickServ.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:: /NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:: /ns AJOIN ADD #channel_name channel_entry_password_if_needed
:: /msg NickServ@services.yournetwork.com AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:: /NickServ AJOIN DEL #channel_name
:: /ns AJOIN DEL #channel_name
:: /msg NickServ@services_yournetwork.com AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:: /NickServ AJOIN LIST
:: /ns AJOIN LIST
:: /msg NickServ@services.yournetwork.com AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
dd70964b7c8a1d2dd75e215a84c16c97793c0140
1086
1085
2015-02-09T22:35:40Z
Azander
9
/* NickServ Commands */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:'''Note:''' Only IrcOps my specify a nick and remove entries from other peoples access list.'''
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:: /msg NickServ ACCESS LIST Nick_here
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
The auto join list is a way to automatically, if your IRC Network supports it, rejoin channels after you identify to NickServ.
===Syntax===
:'''Add to Auto join list'''
:: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:: /NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
:: /ns AJOIN ADD #channel_name channel_entry_password_if_needed
:: /msg NickServ@services.yournetwork.com AJOIN ADD #channel_name channel_entry_password_if_needed
:'''Delete from Auto join list'''
:: /msg NickServ AJOIN DEL #channel_name
:: /NickServ AJOIN DEL #channel_name
:: /ns AJOIN DEL #channel_name
:: /msg NickServ@services_yournetwork.com AJOIN DEL #channel_name
:'''List your auto join list'''
:: /msg NickServ AJOIN LIST
:: /NickServ AJOIN LIST
:: /ns AJOIN LIST
:: /msg NickServ@services.yournetwork.com AJOIN LIST
:'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
:: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
:: /msg NickServ AJOIN DEL Nick_here #channel_name
:: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
02bc41c290d66cfe98b8f4fbbbcba21430d8ce37
1085
1084
2015-02-09T22:33:02Z
Azander
9
/* NickServ Commands */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
:: /msg NickServ ACCESS LIST Nick_here
:::'''Note:''' Only IrcOps my specify a nick and look at other peoples access list.
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and add to other peoples access list.
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and remove entries from other peoples access list.
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
The auto join list is a way to automatically, if your IRC Network supports it, rejoin channels after you identify to NickServ.
===Syntax===
::'''Add to Auto join list'''
: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
: /NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
: /ns AJOIN ADD #channel_name channel_entry_password_if_needed
: /msg NickServ@services.yournetwork.com AJOIN ADD #channel_name channel_entry_password_if_needed
::'''Delete from Auto join list'''
: /msg NickServ AJOIN DEL #channel_name
: /NickServ AJOIN DEL #channel_name
: /ns AJOIN DEL #channel_name
: /msg NickServ@services_yournetwork.com AJOIN DEL #channel_name
::'''List your auto join list'''
: /msg NickServ AJOIN LIST
: /NickServ AJOIN LIST
: /ns AJOIN LIST
: /msg NickServ@services.yournetwork.com AJOIN LIST
::'''IrcOps my specify a nick and look or change other peoples AJOIN list.'''
: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
: /msg NickServ AJOIN DEL Nick_here #channel_name
: /msg NickServ AJOIN LIST Nick_here
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
f81ce34402ae49e7416d0b16b7a58480b800501c
1084
1083
2015-02-09T22:24:17Z
Azander
9
/* NickServ Commands */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some IRC servers provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld COMMAND_HERE Options_here' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
:: /msg NickServ ACCESS LIST Nick_here
:::'''Note:''' Only IrcOps my specify a nick and look at other peoples access list.
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and add to other peoples access list.
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and remove entries from other peoples access list.
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
The auto join list is a way to automatically, if your IRC Network supports it, rejoin channels after you identify to NickServ.
===Syntax===
: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
: /msg NickServ AJOIN DEL #channel_name
: /msg NickServ AJOIN LIST
: /NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
: /NickServ AJOIN DEL #channel_name
: /NickServ AJOIN LIST
: /ns AJOIN ADD #channel_name channel_entry_password_if_needed
: /ns AJOIN DEL #channel_name
: /ns AJOIN LIST
: /msg NickServ@services.yournetwork.com AJOIN ADD #channel_name channel_entry_password_if_needed
: /msg NickServ@services_yournetwork.com AJOIN DEL #channel_name
: /msg NickServ@services.yournetwork.com AJOIN LIST
: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
: /msg NickServ AJOIN DEL Nick_here #channel_name
: /msg NickServ AJOIN LIST Nick_here
::'''Note''': Only IrcOps my specify a nick and look or change other peoples AJOIN list.
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
3f323f7284995371fde0a6ead4f98e2f437189bb
1083
1082
2015-02-09T22:22:43Z
Azander
9
/* AJoin */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some server provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld ACCESS LIST' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
:: /msg NickServ ACCESS LIST Nick_here
:::'''Note:''' Only IrcOps my specify a nick and look at other peoples access list.
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and add to other peoples access list.
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and remove entries from other peoples access list.
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
The auto join list is a way to automatically, if your IRC Network supports it, rejoin channels after you identify to NickServ.
===Syntax===
: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
: /msg NickServ AJOIN DEL #channel_name
: /msg NickServ AJOIN LIST
: /NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
: /NickServ AJOIN DEL #channel_name
: /NickServ AJOIN LIST
: /ns AJOIN ADD #channel_name channel_entry_password_if_needed
: /ns AJOIN DEL #channel_name
: /ns AJOIN LIST
: /msg NickServ@services.yournetwork.com AJOIN ADD #channel_name channel_entry_password_if_needed
: /msg NickServ@services_yournetwork.com AJOIN DEL #channel_name
: /msg NickServ@services.yournetwork.com AJOIN LIST
: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
: /msg NickServ AJOIN DEL Nick_here #channel_name
: /msg NickServ AJOIN LIST Nick_here
::'''Note''': Only IrcOps my specify a nick and look or change other peoples AJOIN list.
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
0bc33942e82c06f29d142033efc65d53c1e61ecd
1082
1081
2015-02-09T22:21:00Z
Azander
9
/* AJoin */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some server provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld ACCESS LIST' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
:: /msg NickServ ACCESS LIST Nick_here
:::'''Note:''' Only IrcOps my specify a nick and look at other peoples access list.
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and add to other peoples access list.
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and remove entries from other peoples access list.
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
: /msg NickServ AJOIN DEL #channel_name
: /msg NickServ AJOIN LIST
: /NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
: /NickServ AJOIN DEL #channel_name
: /NickServ AJOIN LIST
: /ns AJOIN ADD #channel_name channel_entry_password_if_needed
: /ns AJOIN DEL #channel_name
: /ns AJOIN LIST
: /msg NickServ@services.yournetwork.com AJOIN ADD #channel_name channel_entry_password_if_needed
: /msg NickServ@services_yournetwork.com AJOIN DEL #channel_name
: /msg NickServ@services.yournetwork.com AJOIN LIST
: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
: /msg NickServ AJOIN DEL Nick_here #channel_name
: /msg NickServ AJOIN LIST Nick_here
::'''Note''': Only IrcOps my specify a nick and look or change other peoples AJOIN list.
===Examples===
: /msg NickServ AJOIN ADD #DreamScape FreddyLives
: /msg NickServ AJOIN ADD #DreamScape
: /msg NickServ AJOIN DEL #DreamScape
: /msg NickServ AJOIN LIST
== <div class="moduleheader">AList</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
50881afc29e4c2f242d9e255427371095e92ac10
1081
1080
2015-02-09T22:17:55Z
Azander
9
/* AJoin */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some server provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld ACCESS LIST' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
:: /msg NickServ ACCESS LIST Nick_here
:::'''Note:''' Only IrcOps my specify a nick and look at other peoples access list.
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and add to other peoples access list.
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and remove entries from other peoples access list.
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
: /msg NickServ AJOIN ADD #channel_name channel_entry_password_if_needed
: /msg NickServ AJOIN DEL #channel_name
: /msg NickServ AJOIN LIST
: /msg NickServ AJOIN ADD Nick_here #channel_name optional_channel_entry_passowrd_as_needed
: /msg NickServ AJOIN DEL Nick_here #channel_name
: /msg NickServ AJOIN LIST Nick_here
===Examples===
== <div class="moduleheader">AList</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
49410535915e62b908f0dcdaa6401309e9559f6f
1080
1079
2015-02-09T22:14:14Z
Azander
9
/* NickServ Commands */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
'''NOTE''': Some server provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld ACCESS LIST' version of the command
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
:: /msg NickServ ACCESS LIST Nick_here
:::'''Note:''' Only IrcOps my specify a nick and look at other peoples access list.
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and add to other peoples access list.
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and remove entries from other peoples access list.
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
===Syntax===
===Examples===
== <div class="moduleheader">AList</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Confirm</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Drop</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Forbid</div> ==
: *Oper only
===Syntax===
===Examples===
== <div class="moduleheader">GetPass</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Group</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Help</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Identify</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Info</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">List</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Logout</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
===Syntax===
===Examples===
== <div class="moduleheader">Register</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ReSend</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Set</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Status</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">UnGroup</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">Update</div> ==
===Syntax===
===Examples===
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
===Syntax===
===Examples===
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
===Syntax===
===Examples===
0c5b2355d53dc88dbde9bc2647dd7cf4757843c6
1079
1078
2015-02-09T22:11:54Z
Azander
9
/* NickServ Commands */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
'''NOTE'': Some server provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld ACCESS LIST' version of the command
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
:: /msg NickServ ACCESS LIST Nick_here
:::'''Note:''' Only IrcOps my specify a nick and look at other peoples access list.
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and add to other peoples access list.
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and remove entries from other peoples access list.
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
== <div class="moduleheader">AJoin==
This command manages your auto join list. When you identify you will automatically join the channels on your auto join list. Services Operators may provide a nick to modify other users' auto join lists.
== <div class="moduleheader">AList</div> ==
== <div class="moduleheader">Confirm</div> ==
== <div class="moduleheader">Drop</div> ==
== <div class="moduleheader">Forbid</div> ==
: *Oper only
== <div class="moduleheader">GetPass</div> ==
== <div class="moduleheader">Group</div> ==
== <div class="moduleheader">Help</div> ==
== <div class="moduleheader">Identify</div> ==
== <div class="moduleheader">Info</div> ==
== <div class="moduleheader">List</div> ==
== <div class="moduleheader">Logout</div> ==
== <div class="moduleheader">Recover</div> ==
: * Also sometimes aliased to Ghost and Release
== <div class="moduleheader">Register</div> ==
== <div class="moduleheader">ReSend</div> ==
== <div class="moduleheader">ResetPass</div> ==
: *Oper Only
== <div class="moduleheader">Set</div> ==
== <div class="moduleheader">Status</div> ==
== <div class="moduleheader">UnGroup</div> ==
== <div class="moduleheader">Update</div> ==
== <div class="moduleheader">GetEmail</div> ==
: *Oper Only
== <div class="moduleheader">SaSet</div> ==
: *Oper Only
== <div class="moduleheader">Suspend</div> ==
: *Oper Only
== <div class="moduleheader">UnSuspend</div> ==
: *Oper Only
383349637aa35784de8452333f20d16a9f2265ef
1078
2015-02-09T21:05:15Z
Azander
9
/* Initial Nickserv User Documentation */
wikitext
text/x-wiki
{{Language|NickServ}}
=NickServ Commands=
== <div class="moduleheader">Access</div> ==
Modifies or displays the access list for your nick. This is the list of addresses which will be automatically recognized by NickServ as allowed to use the nick. If you want to use the nick from a different address, you meed to send an IDENTIFY command to make NickServ recognize you. Services Operators may provide a nick to modify other users' access lists.
'''NOTE'': Some server provide an alias for '/msg NickServ' where you can use '/ns' or '/nickserv' in it's place. Some irc networks, though uncommon, may require you to use the full '/msg nickserv@services.networkname.tld ACCESS LIST' version of the command
===Syntax===
: '''See what is on your access list'''
:: /NickServ ACCESS LIST
:: /ns ACCESS LIST
:: /msg NickServ ACCESS LIST
:: /msg NickServ@services.yournetwork.com ACCESS LIST
:: /msg NickServ ACCESS LIST Nick_here
:::'''Note:''' Only IrcOps my specify a nick and look at other peoples access list.
: '''Add to your access list'''
:: /NickServ ACCESS ADD Host@mask.goes.here
:: /ns ACCESS ADD Host@mask.goes.here
:: /msg NickServ ACCESS ADD Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS ADD Host@mask.goes.here
:: /msg NiskServ ACCESS ADD Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and add to other peoples access list.
: '''Remove entry on your access list'''
:: /NickServ ACCESS DEL Host@mask.goes.here
:: /ns ACCESS DEL Host@mask.goes.here
:: /msg NickServ ACCESS DEL Host@mask.goes.here
:: /msg NickServ@services.yournetwork.com ACCESS DEL Host@mask.goes.here
:: /msg NiskServ ACCESS DEL Nick_here Host@mask.goes.here
:::'''Note:''' Only IrcOps my specify a nick and remove entries from other peoples access list.
===Examples===
: /msg NickServ ACCESS LIST
: /msg NickServ ACCESS ADD Freddy@dreamsaremine.org
: /msg NickServ ACCESS DEL Freddy@wakemeup.net
==AJoin==
==AList==
==Confirm==
==Drop==
==Forbid==
: *Oper only
==GetPass==
==Group==
==Help==
==Identify==
==Info==
==List==
==Logout==
==Recover==
: * Also sometimes aliased to Ghost and Release
==Register==
==ReSend==
==ResetPass==
: *Oper Only
==Set==
==Status==
==UnGroup==
==Update==
==GetEmail==
: *Oper Only
==SaSet==
: *Oper Only
==Suspend==
: *Oper Only
==UnSuspend==
: *Oper Only
68db719bcd7ae8c53bcba8c436a4361a1bd5d2ab
WikiCredits
0
223
1070
1038
2014-06-08T23:43:40Z
Yoerger
7
wikitext
text/x-wiki
== Anope IRC Services Wiki Credits ==
The following is the list of members who have contributed to the development or content of the Wiki. You can click a users name to view a list of their contributions.
* [http://wiki.anope.org/index.php/Special:Contributions/Dukepyrolator DukePyrolator] -- Anope Project Leader
* [http://wiki.anope.org/index.php/Special:Contributions/Mietzie Mietzie] -- Anope Contributor (Wiki)
* [http://wiki.anope.org/index.php/Special:Contributions/Yoerger Yoerger] -- Anope Contributor (Support, Wiki Admin)
* [http://wiki.anope.org/index.php/Special:Contributions/Azander Azander] -- Anope Contributor (Wiki)
7c55860cd5c0395b5866246e305ce0d1691cb1b6
1038
1036
2014-06-01T01:19:35Z
Yoerger
7
Protected "[[WikiCredits]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
== Anope IRC Services Wiki Credits ==
The following is the list of members who have contributed to the development or content of the Wiki. You can click a users name to view a list of their contributions.
* [http://wiki.anope.org/index.php/Special:Contributions/Dukepyrolator DukePyrolator] -- Anope Project Leader
* [http://wiki.anope.org/index.php/Special:Contributions/Mietzie Mietzie] -- Wiki Contributor
* [http://wiki.anope.org/index.php/Special:Contributions/Yoerger Yoerger] -- Anope Support/Wiki Contributor
* [http://wiki.anope.org/index.php/Special:Contributions/Azander Azander] -- Wiki Contributor
a99cf268ec49dfed36d775027470f5626b83ebcc
1036
2014-06-01T01:18:31Z
Yoerger
7
Created page with "== Anope IRC Services Wiki Credits == The following is the list of members who have contributed to the development or content of the Wiki. You can click a users name to view ..."
wikitext
text/x-wiki
== Anope IRC Services Wiki Credits ==
The following is the list of members who have contributed to the development or content of the Wiki. You can click a users name to view a list of their contributions.
* [http://wiki.anope.org/index.php/Special:Contributions/Dukepyrolator DukePyrolator] -- Anope Project Leader
* [http://wiki.anope.org/index.php/Special:Contributions/Mietzie Mietzie] -- Wiki Contributor
* [http://wiki.anope.org/index.php/Special:Contributions/Yoerger Yoerger] -- Anope Support/Wiki Contributor
* [http://wiki.anope.org/index.php/Special:Contributions/Azander Azander] -- Wiki Contributor
a99cf268ec49dfed36d775027470f5626b83ebcc
Talk:Main Page
1
241
1152
2020-07-18T03:48:15Z
Gavin
30
Created page with " == '''IRC Server''' == '''''irc.teranova.net:+6697/#anope''''' & '''''irc.teranova.net:+6697/#wikiw''''' no longer works. You can use irc.zairc.net:+6697/#anope & ir..."
wikitext
text/x-wiki
== '''IRC Server''' ==
'''''irc.teranova.net:+6697/#anope''''' & '''''irc.teranova.net:+6697/#wikiw''''' no longer works.
You can use
irc.zairc.net:+6697/#anope
&
irc.zairc.net:+6697/#wiki
889d262b28d34a971f4e4b6be95119b2f7e16be3
User:Gavin
2
240
1151
1150
2020-07-18T03:33:48Z
Gavin
30
wikitext
text/x-wiki
'''Gavin'''
[http://wiki.anope.org/index.php/Special:Contributions/Gavin View My Contributions / Wiki Edits]
4d30b99975baa10e9e204a60e8332137d095c080
1150
2020-07-18T03:33:06Z
Gavin
30
Created page with "'''Gavin''' [http://wiki.anope.org/index.php/Special:Contributions/Yoerger View My Contributions / Wiki Edits]"
wikitext
text/x-wiki
'''Gavin'''
[http://wiki.anope.org/index.php/Special:Contributions/Yoerger View My Contributions / Wiki Edits]
47330e052918d8d938933d06490b5f6c5609868d
User:Jobe
2
239
1147
2019-10-29T03:24:33Z
Jobe
32
Created page with "Jobe was here 2019/10/29"
wikitext
text/x-wiki
Jobe was here 2019/10/29
9dc33684e0e5102125da81bbc341f0dc617fc63f
User:Yoerger
2
73
970
529
2014-05-27T12:34:51Z
Yoerger
7
wikitext
text/x-wiki
'''Yoerger'''
''Contributor / Wiki Administrator ''
Anope IRC Services
[http://wiki.anope.org/index.php/Special:Contributions/Yoerger View My Contributions / Wiki Edits]
640b5b607e6c95cac64db0b8bfaf0befe7233c49
529
528
2013-12-14T21:17:19Z
Yoerger
7
Protected "[[User:Yoerger]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
'''Yoerger'''
''Contributor / Wiki Administrator ''
Anope IRC Services
[http://wiki2.anope.org/index.php/Special:Contributions/Yoerger View My Contributions / Wiki Edits]
fd1e0f8bd6a9a382c9975dc0487a4d30eca7deaf
528
527
2013-12-14T21:16:55Z
Yoerger
7
wikitext
text/x-wiki
'''Yoerger'''
''Contributor / Wiki Administrator ''
Anope IRC Services
[http://wiki2.anope.org/index.php/Special:Contributions/Yoerger View My Contributions / Wiki Edits]
fd1e0f8bd6a9a382c9975dc0487a4d30eca7deaf
527
2013-12-14T21:16:47Z
Yoerger
7
Created page with "'''Yoerger''' ''Contributor / Wiki Administrator '' Anope IRC Services [http://wiki.anope.org/index.php/Special:Contributions/Yoerger View My Contributions / Wiki Edits]"
wikitext
text/x-wiki
'''Yoerger'''
''Contributor / Wiki Administrator ''
Anope IRC Services
[http://wiki.anope.org/index.php/Special:Contributions/Yoerger View My Contributions / Wiki Edits]
640b5b607e6c95cac64db0b8bfaf0befe7233c49
User talk:Yoerger
3
242
1153
2020-07-18T03:50:17Z
Gavin
30
Created page with "== Message == please can you check: https://wiki.anope.org/index.php/Talk:Main_Page ----"
wikitext
text/x-wiki
== Message ==
please can you check: https://wiki.anope.org/index.php/Talk:Main_Page
----
4bf19ed6a8c793fb2695669ba9be29a945d89bb0
MediaWiki:Common.css
8
3
985
984
2014-05-27T19:36:23Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.notice {
border: 3px solid #DF0101;
background-color: #F5A9A9;
align:center;
text-align:center;
font-weight:bold;
height:75px;
width:400px;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
ca410f25697a80608d0ee396460222e1dc3b8032
984
978
2014-05-27T19:35:55Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.notice {
border: 3px solid #DF0101;
background-color: #F5A9A9;
align:center;
text-align:center;
font-weight:bold;
height:25px;
width:400px;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
7abab6c07d3d5567105ccdb026daad3dd1db5bc3
978
977
2014-05-27T12:47:54Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.notice {
border: 3px solid #DF0101;
background-color: #F5A9A9;
align:center;
text-align:center;
font-weight:bold;
height:25px;
width:100px;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
11570f5f1288a40c73ed6d78caf2ccffd307b4c2
977
976
2014-05-27T12:47:07Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.notice {
border: 3px solid #DF0101;
background-color: #F5A9A9;
align:center;
text-align:center;
font-weight:bold;
height:25px;
width:300px;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
1433042aa32e8b1a48b38ddbde176830c30f3cfb
976
975
2014-05-27T12:46:00Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.notice {
border: 3px solid #DF0101;
background-color: #F5A9A9;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
092ecf7273b7b276958a0f169c5d6aafcfcb4eed
975
974
2014-05-27T12:45:24Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.notice {
border: 1px solid #DF0101;
background-color: #F5A9A9;
padding: 5px 2px 5px 2px;
color: black;
text-align:center;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
3120aca0fdd50af28808c5d6aff3c1196483c46a
974
973
2014-05-27T12:44:59Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.notice {
border: 1px solid #DF0101;
background-color: #F5A9A9;
padding: 5px 2px 5px 2px;
width: 400px;
height:100px;
color: black;
text-align:center;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
c217b4ee32b3f95037fc25770cd5c34da928e109
973
972
2014-05-27T12:43:08Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.notice {
border: 1px solid #DF0101;
background-color: #F5A9A9;
padding: 5px 2px 5px 2px;
width: 400px;
height:100px;
margin-left:30%;
color: black;
font-size:11px;
text-align:center;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
3e7ea4e7bcffc452e0dbbaf32e10f728fd8847d7
972
971
2014-05-27T12:41:59Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.notice {
border: 1px solid #DF0101;
background: #F5A9A9;
padding: 5px 2px 5px 2px;
width: 400px;
margin-left:30%;
color: black;
font-size:11px;
text-align:center;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
8c88e91c84f0a0224addae0927c5a551b2f00d60
971
534
2014-05-27T12:37:00Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.notice {
align:center;
text-align:center;
background:color: #F5A9A9;
border: solid #DF0101;
height:100px;
width:300px;
font-weight:bold;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
c2691385c0a4e4929986652f47dc3b1906a27781
534
533
2013-12-15T07:26:51Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.lang {
cellpadding=1px;
style=float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
c77eb4d5f3bf58cde06831d048baae0d70df27f0
533
513
2013-12-15T07:26:38Z
Yoerger
7
Added Language Template CSS
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
.lang {
cellpadding=1px;
style="float:right;
width:300px;
text-align:left;
border:1px solid #64719b;
border-spacing:0;
border-collapse:collapse;
background-color:#ffffff;
empty-cells:hide;
float=right;
}
1194bc887dd6bee9646b82825fa4caf8120e34ce
513
511
2013-12-04T06:18:07Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #FFFFFF;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
5f1fb9d721be47271fde35b6f78205cee1c51c4c
511
510
2013-12-04T06:17:30Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #000000;
color: #64719b;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
d94c49fe9d152da17c78bf2a5dca224e1f3e38f3
510
509
2013-12-04T06:16:29Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: white;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
b454063f39976fc4ae66c509dabdc0ed0a2d0224
509
508
2013-12-04T06:12:53Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
color: #64719b;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
d6c41ab3b7d77ec7dd4ed3b08dfed16712462935
508
506
2013-12-04T06:12:28Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
padding: 0.2em 0.4em;
}
79d6b783c88cd0c6e01b9820894975e4bbfdf0da
506
505
2013-12-04T06:09:27Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
background-color: #64719b;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
color:#ffffff;
padding: 0.2em 0.4em;
}
92c67ffcc7f842e3aeac350fa3f8230ee2fa072a
505
477
2013-12-04T06:09:17Z
Yoerger
7
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
.moduleheader {
style="background-color: #64719b;
width: 99%;
margin: 0px 0px 10px 0px;
font-size:18px;
font-family: Verdana;
text-align:left;
font-weight: bold;
color:#ffffff;
padding: 0.2em 0.4em;
}
98614570dc1bdeb92210977caf35d9f6e083fd6a
477
470
2013-11-26T14:55:04Z
Dukepyrolator
4
Replaced content with " table.modules { width: 100%; border: 1px solid #64719b; padding-left: 4px; border-collapse: collapse; border-spacing: 0; text-align: left; } .modules th { padding..."
css
text/css
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
/* first field in the row can have a light blue background */
.modules #f {
background-color: #a8bee3;
}
c86c6a20c1d7b74bdcd9459c357846c3fde7d293
470
448
2013-11-24T20:43:40Z
Dukepyrolator
4
css
text/css
/* CSS placed here will be applied to all skins */
/* Default styling for HTML elements */
dfn {
font-style: inherit; /* Reset default styling for <dfn> */
}
sup, sub {
line-height: 1em; /* Reduce line-height for <sup> and <sub> */
}
/* Main page fixes */
#interwiki-completelist {
font-weight: bold;
}
body.page-Main_Page #ca-delete {
display: none !important;
}
body.page-Main_Page #mp-topbanner {
clear: both;
}
/* Edit window toolbar */
#toolbar {
height: 22px;
margin-bottom: 6px;
}
/* Highlight data points in the info action if specified in the URL */
body.action-info :target {
background: #DEF;
}
/* Make the list of references smaller */
ol.references,
div.reflist,
div.refbegin {
font-size: 90%; /* Default font-size */
margin-bottom: 0.5em;
}
div.refbegin-100 {
font-size: 100%; /* Option for normal fontsize in {{refbegin}} */
}
div.reflist ol.references {
font-size: 100%; /* Reset font-size when nested in div.reflist */
list-style-type: inherit; /* Enable custom list style types */
}
/* Reset top margin for lists embedded in columns */
div.columns dl,
div.columns ol,
div.columns ul {
margin-top: 0;
}
/* Avoid list items from breaking between columns */
div.columns li,
div.columns dd dd {
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid-column;
}
/* Highlight clicked reference in blue to help navigation */
ol.references li:target,
sup.reference:target,
span.citation:target {
background-color: #DEF;
}
/* Ensure refs in table headers and the like aren't bold or italic */
sup.reference {
font-weight: normal;
font-style: normal;
}
/* Allow hidden ref errors to be shown by user CSS */
span.brokenref {
display: none;
}
/* Styling for citations (CSS3). Breaks long urls, etc., rather than overflowing box */
.citation {
word-wrap: break-word;
}
/* For linked citation numbers and document IDs, where
the number need not be shown on a screen or a handheld,
but should be included in the printed version */
@media screen, handheld {
.citation *.printonly {
display: none;
}
}
/* Style for [[Template:Flowlist]] that Lets lists flow around floating objecs */
.flowlist ul {
overflow-x: hidden;
margin-left: 0em;
padding-left: 1.6em;
}
.flowlist ol {
overflow-x: hidden;
margin-left: 0em;
padding-left: 3.2em;
}
.flowlist dl {
overflow-x: hidden;
}
/* Style for horizontal lists (separator following item).
IE8-specific classes are assigned in [[MediaWiki:Common.js/IEFixes.js]].
@source mediawiki.org/wiki/Snippets/Horizontal_lists
@revision 4 (2013-11-17)
@author [[User:Edokter]]
*/
.skin-monobook .hlist dl,
.skin-modern .hlist dl,
.skin-vector .hlist dl {
line-height: 1.5em;
}
.hlist dl,
.hlist ol,
.hlist ul {
margin: 0;
padding: 0;
}
/* Display list items inline */
.hlist dd,
.hlist dt,
.hlist li {
margin: 0;
display: inline;
}
/* Display nested lists inline */
.hlist dl dl, .hlist dl ol, .hlist dl ul,
.hlist ol dl, .hlist ol ol, .hlist ol ul,
.hlist ul dl, .hlist ul ol, .hlist ul ul {
display: inline;
}
/* Generate interpuncts */
.hlist dt:after {
content: ":";
}
.hlist dd:after,
.hlist li:after {
content: " ·";
font-weight: bold;
}
.hlist dd:last-child:after,
.hlist dt:last-child:after,
.hlist li:last-child:after {
content: none;
}
/* For IE8 */
.hlist dd.hlist-last-child:after,
.hlist dt.hlist-last-child:after,
.hlist li.hlist-last-child:after {
content: none;
}
/* Add parentheses around nested lists */
.hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before,
.hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before,
.hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before {
content: "(";
font-weight: normal;
}
.hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after,
.hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after,
.hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after {
content: ")";
font-weight: normal;
}
/* For IE8 */
.hlist dd dd.hlist-last-child:after, .hlist dd dt.hlist-last-child:after, .hlist dd li.hlist-last-child:after,
.hlist dt dd.hlist-last-child:after, .hlist dt dt.hlist-last-child:after, .hlist dt li.hlist-last-child:after,
.hlist li dd.hlist-last-child:after, .hlist li dt.hlist-last-child:after, .hlist li li.hlist-last-child:after {
content: ")";
font-weight: normal;
}
/* Put ordinals in front of ordered list items */
.hlist ol {
counter-reset: list-item;
}
.hlist ol > li {
counter-increment: list-item;
}
.hlist ol > li:before {
content: counter(list-item) " ";
}
.hlist dd ol > li:first-child:before,
.hlist dt ol > li:first-child:before,
.hlist li ol > li:first-child:before {
content: "(" counter(list-item) " ";
}
/* Unbulleted lists */
.plainlist ul {
line-height: inherit;
list-style: none none;
margin: 0;
}
.plainlist ul li {
margin-bottom: 0;
}
/* Default style for navigation boxes */
.navbox { /* Navbox container style */
border: 1px solid #aaa;
width: 100%;
margin: auto;
clear: both;
font-size: 88%;
text-align: center;
padding: 1px;
}
.navbox-inner,
.navbox-subgroup {
width: 100%;
}
.navbox-group,
.navbox-title,
.navbox-abovebelow {
padding: 0.25em 1em; /* Title, group and above/below styles */
line-height: 1.5em;
text-align: center;
}
th.navbox-group { /* Group style */
white-space: nowrap;
/* @noflip */
text-align: right;
}
.navbox,
.navbox-subgroup {
background: #fdfdfd; /* Background color */
}
.navbox-list {
line-height: 1.8em;
border-color: #fdfdfd; /* Must match background color */
}
.navbox th,
.navbox-title {
background: #ccccff; /* Level 1 color */
}
.navbox-abovebelow,
th.navbox-group,
.navbox-subgroup .navbox-title {
background: #ddddff; /* Level 2 color */
}
.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
background: #e6e6ff; /* Level 3 color */
}
.navbox-even {
background: #f7f7f7; /* Even row striping */
}
.navbox-odd {
background: transparent; /* Odd row striping */
}
table.navbox + table.navbox { /* Single pixel border between adjacent navboxes */
margin-top: -1px; /* (doesn't work for IE6, but that's okay) */
}
.navbox .hlist td dl,
.navbox .hlist td ol,
.navbox .hlist td ul,
.navbox td.hlist dl,
.navbox td.hlist ol,
.navbox td.hlist ul {
padding: 0.125em 0; /* Adjust hlist padding in navboxes */
}
ol + table.navbox,
ul + table.navbox {
margin-top: 0.5em; /* Prevent lists from clinging to navboxes */
}
/* Default styling for Navbar template */
.navbar {
display: inline;
font-size: 88%;
font-weight: normal;
}
.navbar ul {
display: inline;
white-space: nowrap;
}
.navbar li {
word-spacing: -0.125em;
}
.navbar.mini li span {
font-variant: small-caps;
}
/* Navbar styling when nested in infobox and navbox */
.infobox .navbar {
font-size: 100%;
}
.navbox .navbar {
display: block;
font-size: 100%;
}
.navbox-title .navbar {
/* @noflip */
float: left;
/* @noflip */
text-align: left;
/* @noflip */
margin-right: 0.5em;
width: 6em;
}
/* 'show'/'hide' buttons created dynamically by the CollapsibleTables javascript
in [[MediaWiki:Common.js]] are styled here so they can be customised. */
.collapseButton {
/* @noflip */
float: right;
font-weight: normal;
/* @noflip */
margin-left: 0.5em;
/* @noflip */
text-align: right;
width: auto;
}
/* In navboxes, the show/hide button balances the v·d·e links
from [[Template:Navbar]], so they need to be the same width. */
.navbox .collapseButton {
width: 6em;
}
/* Styling for JQuery makeCollapsible, matching that of collapseButton */
.mw-collapsible-toggle {
font-weight: normal;
/* @noflip */
text-align: right;
}
.navbox .mw-collapsible-toggle {
width: 6em;
}
/* Infobox template style */
.infobox {
border: 1px solid #aaa;
background-color: #f9f9f9;
color: black;
/* @noflip */
margin: 0.5em 0 0.5em 1em;
padding: 0.2em;
/* @noflip */
float: right;
/* @noflip */
clear: right;
/* @noflip */
text-align: left;
font-size: 88%;
line-height: 1.5em;
}
.infobox caption {
font-size: 125%;
font-weight: bold;
}
.infobox td,
.infobox th {
vertical-align: top;
}
.infobox.bordered {
border-collapse: collapse;
}
.infobox.bordered td,
.infobox.bordered th {
border: 1px solid #aaa;
}
.infobox.bordered .borderless td,
.infobox.bordered .borderless th {
border: 0;
}
.infobox.sisterproject {
width: 20em;
font-size: 90%;
}
.infobox.standard-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
}
.infobox.standard-talk.bordered td,
.infobox.standard-talk.bordered th {
border: 1px solid #c0c090;
}
/* styles for bordered infobox with merged rows */
.infobox.bordered .mergedtoprow td,
.infobox.bordered .mergedtoprow th {
border: 0;
border-top: 1px solid #aaa;
/* @noflip */
border-right: 1px solid #aaa;
}
.infobox.bordered .mergedrow td,
.infobox.bordered .mergedrow th {
border: 0;
/* @noflip */
border-right: 1px solid #aaa;
}
/* Styles for geography infoboxes, eg countries,
country subdivisions, cities, etc. */
.infobox.geography {
border-collapse: collapse;
line-height: 1.2em;
font-size: 90%;
}
.infobox.geography td,
.infobox.geography th {
border-top: 1px solid #aaa;
padding: 0.4em 0.6em 0.4em 0.6em;
}
.infobox.geography .mergedtoprow td,
.infobox.geography .mergedtoprow th {
border-top: 1px solid #aaa;
padding: 0.4em 0.6em 0.2em 0.6em;
}
.infobox.geography .mergedrow td,
.infobox.geography .mergedrow th {
border: 0;
padding: 0 0.6em 0.2em 0.6em;
}
.infobox.geography .mergedbottomrow td,
.infobox.geography .mergedbottomrow th {
border-top: 0;
border-bottom: 1px solid #aaa;
padding: 0 0.6em 0.4em 0.6em;
}
.infobox.geography .maptable td,
.infobox.geography .maptable th {
border: 0;
padding: 0;
}
/* Normal font styling for table row headers with scope="row" tag */
.wikitable.plainrowheaders th[scope=row] {
font-weight: normal;
/* @noflip */
text-align: left;
}
/* Lists in data cells are always left-aligned */
.wikitable td ul,
.wikitable td ol,
.wikitable td dl {
/* @noflip */
text-align: left;
}
/* ...unless they also use the hlist class */
.wikitable.hlist td ul,
.wikitable.hlist td ol,
.wikitable.hlist td dl {
text-align: inherit;
}
/* Icons for medialist templates [[Template:Listen]],
[[Template:Multi-listen_start]], [[Template:Video]],
[[Template:Multi-video_start]] */
div.listenlist {
background: url("//upload.wikimedia.org/wikipedia/commons/3/3f/Gnome_speakernotes_30px.png");
/* @noflip */
padding-left: 40px;
}
/* Fix for hieroglyphs specificality issue in infoboxes ([[Bugzilla:41869]]) */
table.mw-hiero-table td {
vertical-align: middle;
}
/* Style rules for media list templates */
div.medialist {
min-height: 50px;
margin: 1em;
/* @noflip */
background-position: top left;
background-repeat: no-repeat;
}
div.medialist ul {
list-style-type: none;
list-style-image: none;
margin: 0;
}
div.medialist ul li {
padding-bottom: 0.5em;
}
div.medialist ul li li {
font-size: 91%;
padding-bottom: 0;
}
/* Change the external link icon to an Adobe icon for all PDF files
in browsers that support these CSS selectors, like Mozilla and Opera */
div#content a[href$=".pdf"].external,
div#content a[href*=".pdf?"].external,
div#content a[href*=".pdf#"].external,
div#content a[href$=".PDF"].external,
div#content a[href*=".PDF?"].external,
div#content a[href*=".PDF#"].external,
div#mw_content a[href$=".pdf"].external,
div#mw_content a[href*=".pdf?"].external,
div#mw_content a[href*=".pdf#"].external,
div#mw_content a[href$=".PDF"].external,
div#mw_content a[href*=".PDF?"].external,
div#mw_content a[href*=".PDF#"].external {
background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right;
/* @noflip */
padding-right: 18px;
}
/* Change the external link icon to an Adobe icon anywhere the PDFlink class
is used (notably Template:PDFlink). This works in IE, unlike the above. */
div#content span.PDFlink a,
div#mw_content span.PDFlink a {
background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right;
/* @noflip */
padding-right: 18px;
}
/* Content in columns with CSS instead of tables ([[Template:Columns]]) */
div.columns-2 div.column {
/* @noflip */
float: left;
width: 50%;
min-width: 300px;
}
div.columns-3 div.column {
/* @noflip */
float: left;
width: 33.3%;
min-width: 200px;
}
div.columns-4 div.column {
/* @noflip */
float: left;
width: 25%;
min-width: 150px;
}
div.columns-5 div.column {
/* @noflip */
float: left;
width: 20%;
min-width: 120px;
}
/* Messagebox templates */
.messagebox {
border: 1px solid #aaa;
background-color: #f9f9f9;
width: 80%;
margin: 0 auto 1em auto;
padding: .2em;
}
.messagebox.merge {
border: 1px solid #c0b8cc;
background-color: #f0e5ff;
text-align: center;
}
.messagebox.cleanup {
border: 1px solid #9f9fff;
background-color: #efefff;
text-align: center;
}
.messagebox.standard-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
margin: 4px auto;
}
/* For old WikiProject banners inside banner shells. */
.mbox-inside .standard-talk,
.messagebox.nested-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
width: 100%;
margin: 2px 0;
padding: 2px;
}
.messagebox.small {
width: 238px;
font-size: 85%;
/* @noflip */
float: right;
clear: both;
/* @noflip */
margin: 0 0 1em 1em;
line-height: 1.25em;
}
.messagebox.small-talk {
width: 238px;
font-size: 85%;
/* @noflip */
float: right;
clear: both;
/* @noflip */
margin: 0 0 1em 1em;
line-height: 1.25em;
background: #F8EABA;
}
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */
th.mbox-text, td.mbox-text { /* The message body cell(s) */
border: none;
/* @noflip */
padding: 0.25em 0.9em; /* 0.9em left/right */
width: 100%; /* Make all mboxes the same width regardless of text length */
}
td.mbox-image { /* The left image cell */
border: none;
/* @noflip */
padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */
text-align: center;
}
td.mbox-imageright { /* The right image cell */
border: none;
/* @noflip */
padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */
text-align: center;
}
td.mbox-empty-cell { /* An empty narrow cell */
border: none;
padding: 0px;
width: 1px;
}
/* Article message box styles */
table.ambox {
margin: 0px 10%; /* 10% = Will not overlap with other elements */
border: 1px solid #aaa;
/* @noflip */
border-left: 10px solid #1e90ff; /* Default "notice" blue */
background: #fbfbfb;
}
table.ambox + table.ambox { /* Single border between stacked boxes. */
margin-top: -1px;
}
.ambox th.mbox-text,
.ambox td.mbox-text { /* The message body cell(s) */
padding: 0.25em 0.5em; /* 0.5em left/right */
}
.ambox td.mbox-image { /* The left image cell */
/* @noflip */
padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */
}
.ambox td.mbox-imageright { /* The right image cell */
/* @noflip */
padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */
}
table.ambox-notice {
/* @noflip */
border-left: 10px solid #1e90ff; /* Blue */
}
table.ambox-speedy {
/* @noflip */
border-left: 10px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.ambox-delete {
/* @noflip */
border-left: 10px solid #b22222; /* Red */
}
table.ambox-content {
/* @noflip */
border-left: 10px solid #f28500; /* Orange */
}
table.ambox-style {
/* @noflip */
border-left: 10px solid #f4c430; /* Yellow */
}
table.ambox-move {
/* @noflip */
border-left: 10px solid #9932cc; /* Purple */
}
table.ambox-protection {
/* @noflip */
border-left: 10px solid #bba; /* Gray-gold */
}
/* Image message box styles */
table.imbox {
margin: 4px 10%;
border-collapse: collapse;
border: 3px solid #1e90ff; /* Default "notice" blue */
background: #fbfbfb;
}
.imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */
margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */
display: block; /* Fix for webkit to force 100% width. */
}
.mbox-inside .imbox { /* For imboxes inside other templates. */
margin: 4px;
}
table.imbox-notice {
border: 3px solid #1e90ff; /* Blue */
}
table.imbox-speedy {
border: 3px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.imbox-delete {
border: 3px solid #b22222; /* Red */
}
table.imbox-content {
border: 3px solid #f28500; /* Orange */
}
table.imbox-style {
border: 3px solid #f4c430; /* Yellow */
}
table.imbox-move {
border: 3px solid #9932cc; /* Purple */
}
table.imbox-protection {
border: 3px solid #bba; /* Gray-gold */
}
table.imbox-license {
border: 3px solid #88a; /* Dark gray */
background: #f7f8ff; /* Light gray */
}
table.imbox-featured {
border: 3px solid #cba135; /* Brown-gold */
}
/* Category message box styles */
table.cmbox {
margin: 3px 10%;
border-collapse: collapse;
border: 1px solid #aaa;
background: #DFE8FF; /* Default "notice" blue */
}
table.cmbox-notice {
background: #D8E8FF; /* Blue */
}
table.cmbox-speedy {
margin-top: 4px;
margin-bottom: 4px;
border: 4px solid #b22222; /* Red */
background: #FFDBDB; /* Pink */
}
table.cmbox-delete {
background: #FFDBDB; /* Red */
}
table.cmbox-content {
background: #FFE7CE; /* Orange */
}
table.cmbox-style {
background: #FFF9DB; /* Yellow */
}
table.cmbox-move {
background: #E4D8FF; /* Purple */
}
table.cmbox-protection {
background: #EFEFE1; /* Gray-gold */
}
/* Other pages message box styles */
table.ombox {
margin: 4px 10%;
border-collapse: collapse;
border: 1px solid #aaa; /* Default "notice" gray */
background: #f9f9f9;
}
table.ombox-notice {
border: 1px solid #aaa; /* Gray */
}
table.ombox-speedy {
border: 2px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.ombox-delete {
border: 2px solid #b22222; /* Red */
}
table.ombox-content {
border: 1px solid #f28500; /* Orange */
}
table.ombox-style {
border: 1px solid #f4c430; /* Yellow */
}
table.ombox-move {
border: 1px solid #9932cc; /* Purple */
}
table.ombox-protection {
border: 2px solid #bba; /* Gray-gold */
}
/* Talk page message box styles */
table.tmbox {
margin: 4px 10%;
border-collapse: collapse;
border: 1px solid #c0c090; /* Default "notice" gray-brown */
background: #f8eaba;
}
.mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */
margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */
width: 100%; /* For Safari and Opera */
}
.mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */
line-height: 1.5em; /* also "nested", so reset styles that are */
font-size: 100%; /* set in "mbox-small" above. */
}
table.tmbox-speedy {
border: 2px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.tmbox-delete {
border: 2px solid #b22222; /* Red */
}
table.tmbox-content {
border: 2px solid #f28500; /* Orange */
}
table.tmbox-style {
border: 2px solid #f4c430; /* Yellow */
}
table.tmbox-move {
border: 2px solid #9932cc; /* Purple */
}
table.tmbox-protection,
table.tmbox-notice {
border: 1px solid #c0c090; /* Gray-brown */
}
/* Disambig and set index box styles */
table.dmbox {
clear: both;
margin: 0.9em 1em;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
background: transparent;
}
/* Footer and header message box styles */
table.fmbox {
clear: both;
margin: 0.2em 0;
width: 100%;
border: 1px solid #aaa;
background: #f9f9f9; /* Default "system" gray */
}
table.fmbox-system {
background: #f9f9f9;
}
table.fmbox-warning {
border: 1px solid #bb7070; /* Dark pink */
background: #ffdbdb; /* Pink */
}
table.fmbox-editnotice {
background: transparent;
}
/* Div based "warning" style fmbox messages. */
div.mw-warning-with-logexcerpt,
div.mw-lag-warn-high,
div.mw-cascadeprotectedwarning,
div#mw-protect-cascadeon {
clear: both;
margin: 0.2em 0;
border: 1px solid #bb7070;
background: #ffdbdb;
padding: 0.25em 0.9em;
}
/* Div based "system" style fmbox messages.
Used in [[MediaWiki:Readonly lag]]. */
div.mw-lag-warn-normal,
div.fmbox-system {
clear: both;
margin: 0.2em 0;
border: 1px solid #aaa;
background: #f9f9f9;
padding: 0.25em 0.9em;
}
/* These mbox-small classes must be placed after all other
ambox/tmbox/ombox etc classes. "body.mediawiki" is so
they override "table.ambox + table.ambox" above. */
body.mediawiki table.mbox-small { /* For the "small=yes" option. */
/* @noflip */
clear: right;
/* @noflip */
float: right;
/* @noflip */
margin: 4px 0 4px 1em;
width: 238px;
font-size: 88%;
line-height: 1.25em;
}
body.mediawiki table.mbox-small-left { /* For the "small=left" option. */
/* @noflip */
margin: 4px 1em 4px 0;
width: 238px;
border-collapse: collapse;
font-size: 88%;
line-height: 1.25em;
}
/* Style for compact ambox */
/* Hide the images */
.compact-ambox table .mbox-image,
.compact-ambox table .mbox-imageright,
.compact-ambox table .mbox-empty-cell {
display: none;
}
/* Remove borders, backgrounds, padding, etc. */
.compact-ambox table.ambox {
border: none;
border-collapse: collapse;
background: transparent;
margin: 0 0 0 1.6em !important;
padding: 0 !important;
width: auto;
display: block;
}
body.mediawiki .compact-ambox table.mbox-small-left {
font-size: 100%;
width: auto;
margin: 0;
}
/* Style the text cell as a list item and remove its padding */
.compact-ambox table .mbox-text {
padding: 0 !important;
margin: 0 !important;
}
.compact-ambox table .mbox-text-span {
display: list-item;
line-height: 1.5em;
list-style-type: square;
list-style-image: url(//bits.wikimedia.org/skins/common/images/bullet.gif);
}
.skin-vector .compact-ambox table .mbox-text-span {
list-style-type: circle;
list-style-image: url(//bits.wikimedia.org/skins/vector/images/bullet-icon.png)
}
/* Allow for hiding text in compact form */
.compact-ambox .hide-when-compact {
display: none;
}
/* Remove default styles for [[MediaWiki:Noarticletext]]. */
div.noarticletext {
border: none;
background: transparent;
padding: 0;
}
/* Bold save button */
#wpSave {
font-weight: bold;
}
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */
.hiddenStructure {
display: inline !important;
color: #f00;
background-color: #0f0;
}
/* suppress missing interwiki image links where #ifexist cannot
be used due to high number of requests see .hidden-redlink on
[[m:MediaWiki:Common.css]] */
.check-icon a.new {
display: none;
speak: none;
}
/* Removes underlines from certain links */
.nounderlines a,
.IPA a:link, .IPA a:visited {
text-decoration: none !important;
}
/* Standard Navigationsleisten, aka box hiding thingy
from .de. Documentation at [[Wikipedia:NavFrame]]. */
div.NavFrame {
margin: 0;
padding: 4px;
border: 1px solid #aaa;
text-align: center;
border-collapse: collapse;
font-size: 95%;
}
div.NavFrame + div.NavFrame {
border-top-style: none;
border-top-style: hidden;
}
div.NavPic {
background-color: #fff;
margin: 0;
padding: 2px;
/* @noflip */
float: left;
}
div.NavFrame div.NavHead {
height: 1.6em;
font-weight: bold;
background-color: #ccf;
position: relative;
}
div.NavFrame p,
div.NavFrame div.NavContent,
div.NavFrame div.NavContent p {
font-size: 100%;
}
div.NavEnd {
margin: 0;
padding: 0;
line-height: 1px;
clear: both;
}
a.NavToggle {
position: absolute;
top: 0;
/* @noflip */
right: 3px;
font-weight: normal;
font-size: 90%;
}
/* Hatnotes and disambiguation notices */
.rellink,
.dablink {
font-style: italic;
/* @noflip */
padding-left: 1.6em;
margin-bottom: 0.5em;
}
.rellink i,
.dablink i {
font-style: normal;
}
/* Allow transcluded pages to display in lists rather than a table.
Compatible in Firefox; incompatible in IE6. */
.listify td { display: list-item; }
.listify tr { display: block; }
.listify table { display: block; }
/* Geographical coordinates defaults. See [[Template:Coord/link]]
for how these are used. The classes "geo", "longitude", and
"latitude" are used by the [[Geo microformat]]. */
.geo-default, .geo-dms, .geo-dec { display: inline; }
.geo-nondefault, .geo-multi-punct { display: none; }
.longitude, .latitude { white-space: nowrap; }
/* When <div class="nonumtoc"> is used on the table of contents,
the ToC will display without numbers */
.nonumtoc .tocnumber { display: none; }
.nonumtoc #toc ul,
.nonumtoc .toc ul {
line-height: 1.5em;
list-style: none none;
margin: .3em 0 0;
padding: 0;
}
.nonumtoc #toc ul ul,
.nonumtoc .toc ul ul {
/* @noflip */
margin: 0 0 0 2em;
}
/* Allow limiting of which header levels are shown in a TOC;
<div class="toclimit-3">, for instance, will limit to
showing ==headings== and ===headings=== but no further
(as long as there are no =headings= on the page, which
there shouldn't be according to the MoS). */
.toclimit-2 .toclevel-1 ul,
.toclimit-3 .toclevel-2 ul,
.toclimit-4 .toclevel-3 ul,
.toclimit-5 .toclevel-4 ul,
.toclimit-6 .toclevel-5 ul,
.toclimit-7 .toclevel-6 ul {
display: none;
}
/* Styling for Template:Quote */
blockquote.templatequote {
margin-top: 0;
}
blockquote.templatequote div.templatequotecite {
line-height: 1em;
/* @noflip */
text-align: left;
/* @noflip */
padding-left: 2em;
margin-top: 0;
}
blockquote.templatequote div.templatequotecite cite {
font-size: 85%;
}
/* User block messages */
div.user-block {
padding: 5px;
margin-bottom: 0.5em;
border: 1px solid #A9A9A9;
background-color: #FFEFD5;
}
/* Prevent line breaks in silly places:
1) Where desired
2) Links when we don't want them to
3) Bold "links" to the page itself
4) Ref tags with group names <ref group="Note"> --> "[Note 1]" */
.nowrap,
.nowraplinks a,
.nowraplinks .selflink,
sup.reference a {
white-space: nowrap;
}
/* But allow wrapping where desired: */
.wrap,
.wraplinks a {
white-space: normal;
}
/* For template documentation */
.template-documentation {
clear: both;
margin: 1em 0 0 0;
border: 1px solid #aaa;
background-color: #ecfcf4;
padding: 1em;
}
/* Inline divs in ImageMaps (code borrowed from de.wiki) */
.imagemap-inline div {
display: inline;
}
/* Increase the height of the image upload box */
#wpUploadDescription {
height: 13em;
}
/* Minimum thumb width */
.thumbinner {
min-width: 100px;
}
/* Makes the background of a framed image white instead of gray.
Only visible with transparent images. */
div.thumb .thumbimage {
background-color: #fff;
}
/* The backgrounds for galleries. */
div#content .gallerybox div.thumb {
/* Light gray padding */
background-color: #F9F9F9;
}
/* Put a chequered background behind images, only visible if they have transparency.
'.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */
.gallerybox .thumb img {
background: #fff url(//bits.wikimedia.org/skins/common/images/Checker-16x16.png) repeat;
}
/* But not on articles, user pages, portals or with opt-out. */
.ns-0 .gallerybox .thumb img,
.ns-2 .gallerybox .thumb img,
.ns-100 .gallerybox .thumb img,
.nochecker .gallerybox .thumb img {
background: #fff;
}
/* Category tree styling. Works in conjuction with [[MediaWiki:Categorytree-expand-bullet]],
[[MediaWiki:Categorytree-collapse-bullet]] and [[MediaWiki:Categorytree-empty-bullet]]. */
#mw-subcategories ul {
list-style: none none;
margin-left: 0.25em;
}
.CategoryTreeChildren {
margin-left: 1.25em;
}
.CategoryTreeToggle {
color: #0645AD;
}
.CategoryTreeEmptyBullet {
color: #C0C0C0;
}
/* Prevent floating boxes from overlapping any category listings,
file histories, edit previews, and edit [Show changes] views. */
#mw-subcategories, #mw-pages, #mw-category-media,
#filehistory, #wikiPreview, #wikiDiff {
clear: both;
}
body.rtl #mw-articlefeedbackv5, body.rtl #mw-articlefeedback {
display: block; /* Override inline block mode */
margin-bottom: 1em;
/* @noflip */
clear: right; /* Clear any info boxes that stick out */
/* @noflip */
float: right; /* Prevents margin collapsing */
}
/* Selectively hide headers in WikiProject banners */
.wpb .wpb-header { display: none; }
.wpbs-inner .wpb .wpb-header { display: block; } /* for IE */
.wpbs-inner .wpb .wpb-header { display: table-row; } /* for real browsers */
.wpbs-inner .wpb-outside { display: none; } /* hide things that should only display outside shells */
/* Styling for Abuse Filter tags */
.mw-tag-markers {
font-family:sans-serif;
font-style:italic;
font-size:90%;
}
/* Hide stuff meant for accounts with special permissions. Made visible again in
[[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-accountcreator.css]],
[[MediaWiki:Group-templateeditor.css]] and [[Mediawiki:Group-autoconfirmed.css]]. */
.sysop-show,
.accountcreator-show,
.templateeditor-show,
.autoconfirmed-show {
display: none;
}
/**
* Hide the redlink generated by {{Editnotice}},
* this overrides the ".sysop-show { display: none; }" above that applies
* to the same link as well.
*/
.ve-init-mw-viewPageTarget-toolbar-editNotices-notice .editnotice-redlink {
display: none !important;
}
/* Remove bullets when there are multiple edit page warnings */
ul.permissions-errors > li {
list-style: none none;
}
ul.permissions-errors {
margin: 0;
}
/* No linewrap on the labels of the login/signup page */
body.page-Special_UserLogin .mw-label label,
body.page-Special_UserLogin_signup .mw-label label {
white-space: nowrap;
}
/* Disable the automatic text-size adjust of WebKit on iPhones etc.
It scales some text, and not the other. Use none, or fixed percentage instead.
Use media selector, because defining a value, overwrites platform defaults. */
@media only screen and (max-device-width: 480px) {
body {
-webkit-text-size-adjust: none;
}
}
/* Pie chart test: Transparent borders */
.transborder {
border: solid transparent;
}
* html .transborder { /* IE6 */
border: solid #000001;
filter: chroma(color=#000001);
}
/* Styling for updated markers on watchlist, history and recent/related changes.
Bullets are handled in skin-specific stylesheets. */
.updatedmarker {
background-color: transparent;
color: #006400;
}
li.mw-changeslist-line-watched .mw-title,
table.mw-changeslist-line-watched .mw-title,
table.mw-enhanced-watch .mw-enhanced-rctime {
font-weight: normal;
}
/* Adjust font for inline HTML generated formulae */
span.texhtml {
font-family: "Times New Roman", "Nimbus Roman No9 L", Times, serif;
font-size: 118%;
white-space: nowrap;
}
span.texhtml span.texhtml {
font-size: 100%;
}
/* Fix so <syntaxhighlight> tags and .css and .js pages get normal text size.
[[Bugzilla:26204]]. See also [[Wikipedia:Typography#The monospace 'bug']] */
div.mw-geshi div,
div.mw-geshi div pre,
span.mw-geshi,
pre.source-css,
pre.source-javascript,
pre.source-lua {
font-family: monospace, Courier !important;
}
/* Fix styling of transcluded prefindex tables */
table#mw-prefixindex-list-table,
table#mw-prefixindex-nav-table {
width: 98%;
}
/* For portals, added 2011-12-07 -bv
On wide screens, show these as two columns
On narrow and mobile screens, let them collapse into a single column */
.portal-column-left {
float: left;
width: 50%;
}
.portal-column-right {
float: right;
width: 49%;
}
.portal-column-left-wide {
float: left;
width: 60%;
}
.portal-column-right-narrow {
float: right;
width: 39%;
}
.portal-column-left-extra-wide {
float: left;
width: 70%;
}
.portal-column-right-extra-narrow {
float: right;
width: 29%;
}
@media only screen and (max-width: 800px) {
/* Decouple the columns on narrow screens */
.portal-column-left,
.portal-column-right,
.portal-column-left-wide,
.portal-column-right-narrow,
.portal-column-left-extra-wide,
.portal-column-right-extra-narrow {
float: inherit;
width: inherit;
}
}
/* For announcements */
#bodyContent .letterhead {
background-image:url('//upload.wikimedia.org/wikipedia/commons/e/e0/Tan-page-corner.png');
background-repeat:no-repeat;
padding: 2em;
background-color: #faf9f2;
}
/* Tree style lists */
.treeview ul {
padding: 0;
margin: 0;
}
.treeview li {
padding: 0;
margin: 0;
list-style-type: none;
list-style-image: none;
zoom: 1; /* BE KIND TO IE6 */;
}
.treeview li li {
background: url("//upload.wikimedia.org/wikipedia/commons/f/f2/Treeview-grey-line.png") no-repeat 0 -2981px;
/* @noflip */
padding-left: 20px;
text-indent: 0.3em;
}
.treeview li li.lastline {
background-position: 0 -5971px
}
.treeview li.emptyline > ul {
/* @noflip */
margin-left: -1px;
}
.treeview li.emptyline > ul > li:first-child {
background-position: 0 9px
}
/* Make it possible to hide checkboxes in <inputbox> */
.inputbox-hidecheckboxes form .inputbox-element {
display: none !important;
}
/* Hide charinsert base for those not using the gadget */
#editpage-specialchars {
display: none;
}
/* work-around for [[bugzilla:23965]] (Kaltura advertisement) */
.k-player .k-attribution {
visibility: hidden;
}
table.modules {
width: 100%;
border: 1px solid #64719b;
padding-left: 4px;
border-collapse: collapse;
border-spacing: 0;
text-align: left;
}
.modules th {
padding-left: 4px;
border: 1px solid #64719b;
background-color: #64719b;
color: #FFF;
}
.modules td {
border: 1px solid #64719b;
}
.modules #f {
background-color: #a8bee3;
}
3a78056839b3f1b923a66d3c77a52e6b431a51a8
448
10
2013-11-24T19:22:20Z
Dukepyrolator
4
css
text/css
/* CSS placed here will be applied to all skins */
/* Default styling for HTML elements */
dfn {
font-style: inherit; /* Reset default styling for <dfn> */
}
sup, sub {
line-height: 1em; /* Reduce line-height for <sup> and <sub> */
}
/* Main page fixes */
#interwiki-completelist {
font-weight: bold;
}
body.page-Main_Page #ca-delete {
display: none !important;
}
body.page-Main_Page #mp-topbanner {
clear: both;
}
/* Edit window toolbar */
#toolbar {
height: 22px;
margin-bottom: 6px;
}
/* Highlight data points in the info action if specified in the URL */
body.action-info :target {
background: #DEF;
}
/* Make the list of references smaller */
ol.references,
div.reflist,
div.refbegin {
font-size: 90%; /* Default font-size */
margin-bottom: 0.5em;
}
div.refbegin-100 {
font-size: 100%; /* Option for normal fontsize in {{refbegin}} */
}
div.reflist ol.references {
font-size: 100%; /* Reset font-size when nested in div.reflist */
list-style-type: inherit; /* Enable custom list style types */
}
/* Reset top margin for lists embedded in columns */
div.columns dl,
div.columns ol,
div.columns ul {
margin-top: 0;
}
/* Avoid list items from breaking between columns */
div.columns li,
div.columns dd dd {
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid-column;
}
/* Highlight clicked reference in blue to help navigation */
ol.references li:target,
sup.reference:target,
span.citation:target {
background-color: #DEF;
}
/* Ensure refs in table headers and the like aren't bold or italic */
sup.reference {
font-weight: normal;
font-style: normal;
}
/* Allow hidden ref errors to be shown by user CSS */
span.brokenref {
display: none;
}
/* Styling for citations (CSS3). Breaks long urls, etc., rather than overflowing box */
.citation {
word-wrap: break-word;
}
/* For linked citation numbers and document IDs, where
the number need not be shown on a screen or a handheld,
but should be included in the printed version */
@media screen, handheld {
.citation *.printonly {
display: none;
}
}
/* Style for [[Template:Flowlist]] that Lets lists flow around floating objecs */
.flowlist ul {
overflow-x: hidden;
margin-left: 0em;
padding-left: 1.6em;
}
.flowlist ol {
overflow-x: hidden;
margin-left: 0em;
padding-left: 3.2em;
}
.flowlist dl {
overflow-x: hidden;
}
/* Style for horizontal lists (separator following item).
IE8-specific classes are assigned in [[MediaWiki:Common.js/IEFixes.js]].
@source mediawiki.org/wiki/Snippets/Horizontal_lists
@revision 4 (2013-11-17)
@author [[User:Edokter]]
*/
.skin-monobook .hlist dl,
.skin-modern .hlist dl,
.skin-vector .hlist dl {
line-height: 1.5em;
}
.hlist dl,
.hlist ol,
.hlist ul {
margin: 0;
padding: 0;
}
/* Display list items inline */
.hlist dd,
.hlist dt,
.hlist li {
margin: 0;
display: inline;
}
/* Display nested lists inline */
.hlist dl dl, .hlist dl ol, .hlist dl ul,
.hlist ol dl, .hlist ol ol, .hlist ol ul,
.hlist ul dl, .hlist ul ol, .hlist ul ul {
display: inline;
}
/* Generate interpuncts */
.hlist dt:after {
content: ":";
}
.hlist dd:after,
.hlist li:after {
content: " ·";
font-weight: bold;
}
.hlist dd:last-child:after,
.hlist dt:last-child:after,
.hlist li:last-child:after {
content: none;
}
/* For IE8 */
.hlist dd.hlist-last-child:after,
.hlist dt.hlist-last-child:after,
.hlist li.hlist-last-child:after {
content: none;
}
/* Add parentheses around nested lists */
.hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before,
.hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before,
.hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before {
content: "(";
font-weight: normal;
}
.hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after,
.hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after,
.hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after {
content: ")";
font-weight: normal;
}
/* For IE8 */
.hlist dd dd.hlist-last-child:after, .hlist dd dt.hlist-last-child:after, .hlist dd li.hlist-last-child:after,
.hlist dt dd.hlist-last-child:after, .hlist dt dt.hlist-last-child:after, .hlist dt li.hlist-last-child:after,
.hlist li dd.hlist-last-child:after, .hlist li dt.hlist-last-child:after, .hlist li li.hlist-last-child:after {
content: ")";
font-weight: normal;
}
/* Put ordinals in front of ordered list items */
.hlist ol {
counter-reset: list-item;
}
.hlist ol > li {
counter-increment: list-item;
}
.hlist ol > li:before {
content: counter(list-item) " ";
}
.hlist dd ol > li:first-child:before,
.hlist dt ol > li:first-child:before,
.hlist li ol > li:first-child:before {
content: "(" counter(list-item) " ";
}
/* Unbulleted lists */
.plainlist ul {
line-height: inherit;
list-style: none none;
margin: 0;
}
.plainlist ul li {
margin-bottom: 0;
}
/* Default style for navigation boxes */
.navbox { /* Navbox container style */
border: 1px solid #aaa;
width: 100%;
margin: auto;
clear: both;
font-size: 88%;
text-align: center;
padding: 1px;
}
.navbox-inner,
.navbox-subgroup {
width: 100%;
}
.navbox-group,
.navbox-title,
.navbox-abovebelow {
padding: 0.25em 1em; /* Title, group and above/below styles */
line-height: 1.5em;
text-align: center;
}
th.navbox-group { /* Group style */
white-space: nowrap;
/* @noflip */
text-align: right;
}
.navbox,
.navbox-subgroup {
background: #fdfdfd; /* Background color */
}
.navbox-list {
line-height: 1.8em;
border-color: #fdfdfd; /* Must match background color */
}
.navbox th,
.navbox-title {
background: #ccccff; /* Level 1 color */
}
.navbox-abovebelow,
th.navbox-group,
.navbox-subgroup .navbox-title {
background: #ddddff; /* Level 2 color */
}
.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
background: #e6e6ff; /* Level 3 color */
}
.navbox-even {
background: #f7f7f7; /* Even row striping */
}
.navbox-odd {
background: transparent; /* Odd row striping */
}
table.navbox + table.navbox { /* Single pixel border between adjacent navboxes */
margin-top: -1px; /* (doesn't work for IE6, but that's okay) */
}
.navbox .hlist td dl,
.navbox .hlist td ol,
.navbox .hlist td ul,
.navbox td.hlist dl,
.navbox td.hlist ol,
.navbox td.hlist ul {
padding: 0.125em 0; /* Adjust hlist padding in navboxes */
}
ol + table.navbox,
ul + table.navbox {
margin-top: 0.5em; /* Prevent lists from clinging to navboxes */
}
/* Default styling for Navbar template */
.navbar {
display: inline;
font-size: 88%;
font-weight: normal;
}
.navbar ul {
display: inline;
white-space: nowrap;
}
.navbar li {
word-spacing: -0.125em;
}
.navbar.mini li span {
font-variant: small-caps;
}
/* Navbar styling when nested in infobox and navbox */
.infobox .navbar {
font-size: 100%;
}
.navbox .navbar {
display: block;
font-size: 100%;
}
.navbox-title .navbar {
/* @noflip */
float: left;
/* @noflip */
text-align: left;
/* @noflip */
margin-right: 0.5em;
width: 6em;
}
/* 'show'/'hide' buttons created dynamically by the CollapsibleTables javascript
in [[MediaWiki:Common.js]] are styled here so they can be customised. */
.collapseButton {
/* @noflip */
float: right;
font-weight: normal;
/* @noflip */
margin-left: 0.5em;
/* @noflip */
text-align: right;
width: auto;
}
/* In navboxes, the show/hide button balances the v·d·e links
from [[Template:Navbar]], so they need to be the same width. */
.navbox .collapseButton {
width: 6em;
}
/* Styling for JQuery makeCollapsible, matching that of collapseButton */
.mw-collapsible-toggle {
font-weight: normal;
/* @noflip */
text-align: right;
}
.navbox .mw-collapsible-toggle {
width: 6em;
}
/* Infobox template style */
.infobox {
border: 1px solid #aaa;
background-color: #f9f9f9;
color: black;
/* @noflip */
margin: 0.5em 0 0.5em 1em;
padding: 0.2em;
/* @noflip */
float: right;
/* @noflip */
clear: right;
/* @noflip */
text-align: left;
font-size: 88%;
line-height: 1.5em;
}
.infobox caption {
font-size: 125%;
font-weight: bold;
}
.infobox td,
.infobox th {
vertical-align: top;
}
.infobox.bordered {
border-collapse: collapse;
}
.infobox.bordered td,
.infobox.bordered th {
border: 1px solid #aaa;
}
.infobox.bordered .borderless td,
.infobox.bordered .borderless th {
border: 0;
}
.infobox.sisterproject {
width: 20em;
font-size: 90%;
}
.infobox.standard-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
}
.infobox.standard-talk.bordered td,
.infobox.standard-talk.bordered th {
border: 1px solid #c0c090;
}
/* styles for bordered infobox with merged rows */
.infobox.bordered .mergedtoprow td,
.infobox.bordered .mergedtoprow th {
border: 0;
border-top: 1px solid #aaa;
/* @noflip */
border-right: 1px solid #aaa;
}
.infobox.bordered .mergedrow td,
.infobox.bordered .mergedrow th {
border: 0;
/* @noflip */
border-right: 1px solid #aaa;
}
/* Styles for geography infoboxes, eg countries,
country subdivisions, cities, etc. */
.infobox.geography {
border-collapse: collapse;
line-height: 1.2em;
font-size: 90%;
}
.infobox.geography td,
.infobox.geography th {
border-top: 1px solid #aaa;
padding: 0.4em 0.6em 0.4em 0.6em;
}
.infobox.geography .mergedtoprow td,
.infobox.geography .mergedtoprow th {
border-top: 1px solid #aaa;
padding: 0.4em 0.6em 0.2em 0.6em;
}
.infobox.geography .mergedrow td,
.infobox.geography .mergedrow th {
border: 0;
padding: 0 0.6em 0.2em 0.6em;
}
.infobox.geography .mergedbottomrow td,
.infobox.geography .mergedbottomrow th {
border-top: 0;
border-bottom: 1px solid #aaa;
padding: 0 0.6em 0.4em 0.6em;
}
.infobox.geography .maptable td,
.infobox.geography .maptable th {
border: 0;
padding: 0;
}
/* Normal font styling for table row headers with scope="row" tag */
.wikitable.plainrowheaders th[scope=row] {
font-weight: normal;
/* @noflip */
text-align: left;
}
/* Lists in data cells are always left-aligned */
.wikitable td ul,
.wikitable td ol,
.wikitable td dl {
/* @noflip */
text-align: left;
}
/* ...unless they also use the hlist class */
.wikitable.hlist td ul,
.wikitable.hlist td ol,
.wikitable.hlist td dl {
text-align: inherit;
}
/* Icons for medialist templates [[Template:Listen]],
[[Template:Multi-listen_start]], [[Template:Video]],
[[Template:Multi-video_start]] */
div.listenlist {
background: url("//upload.wikimedia.org/wikipedia/commons/3/3f/Gnome_speakernotes_30px.png");
/* @noflip */
padding-left: 40px;
}
/* Fix for hieroglyphs specificality issue in infoboxes ([[Bugzilla:41869]]) */
table.mw-hiero-table td {
vertical-align: middle;
}
/* Style rules for media list templates */
div.medialist {
min-height: 50px;
margin: 1em;
/* @noflip */
background-position: top left;
background-repeat: no-repeat;
}
div.medialist ul {
list-style-type: none;
list-style-image: none;
margin: 0;
}
div.medialist ul li {
padding-bottom: 0.5em;
}
div.medialist ul li li {
font-size: 91%;
padding-bottom: 0;
}
/* Change the external link icon to an Adobe icon for all PDF files
in browsers that support these CSS selectors, like Mozilla and Opera */
div#content a[href$=".pdf"].external,
div#content a[href*=".pdf?"].external,
div#content a[href*=".pdf#"].external,
div#content a[href$=".PDF"].external,
div#content a[href*=".PDF?"].external,
div#content a[href*=".PDF#"].external,
div#mw_content a[href$=".pdf"].external,
div#mw_content a[href*=".pdf?"].external,
div#mw_content a[href*=".pdf#"].external,
div#mw_content a[href$=".PDF"].external,
div#mw_content a[href*=".PDF?"].external,
div#mw_content a[href*=".PDF#"].external {
background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right;
/* @noflip */
padding-right: 18px;
}
/* Change the external link icon to an Adobe icon anywhere the PDFlink class
is used (notably Template:PDFlink). This works in IE, unlike the above. */
div#content span.PDFlink a,
div#mw_content span.PDFlink a {
background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right;
/* @noflip */
padding-right: 18px;
}
/* Content in columns with CSS instead of tables ([[Template:Columns]]) */
div.columns-2 div.column {
/* @noflip */
float: left;
width: 50%;
min-width: 300px;
}
div.columns-3 div.column {
/* @noflip */
float: left;
width: 33.3%;
min-width: 200px;
}
div.columns-4 div.column {
/* @noflip */
float: left;
width: 25%;
min-width: 150px;
}
div.columns-5 div.column {
/* @noflip */
float: left;
width: 20%;
min-width: 120px;
}
/* Messagebox templates */
.messagebox {
border: 1px solid #aaa;
background-color: #f9f9f9;
width: 80%;
margin: 0 auto 1em auto;
padding: .2em;
}
.messagebox.merge {
border: 1px solid #c0b8cc;
background-color: #f0e5ff;
text-align: center;
}
.messagebox.cleanup {
border: 1px solid #9f9fff;
background-color: #efefff;
text-align: center;
}
.messagebox.standard-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
margin: 4px auto;
}
/* For old WikiProject banners inside banner shells. */
.mbox-inside .standard-talk,
.messagebox.nested-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
width: 100%;
margin: 2px 0;
padding: 2px;
}
.messagebox.small {
width: 238px;
font-size: 85%;
/* @noflip */
float: right;
clear: both;
/* @noflip */
margin: 0 0 1em 1em;
line-height: 1.25em;
}
.messagebox.small-talk {
width: 238px;
font-size: 85%;
/* @noflip */
float: right;
clear: both;
/* @noflip */
margin: 0 0 1em 1em;
line-height: 1.25em;
background: #F8EABA;
}
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */
th.mbox-text, td.mbox-text { /* The message body cell(s) */
border: none;
/* @noflip */
padding: 0.25em 0.9em; /* 0.9em left/right */
width: 100%; /* Make all mboxes the same width regardless of text length */
}
td.mbox-image { /* The left image cell */
border: none;
/* @noflip */
padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */
text-align: center;
}
td.mbox-imageright { /* The right image cell */
border: none;
/* @noflip */
padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */
text-align: center;
}
td.mbox-empty-cell { /* An empty narrow cell */
border: none;
padding: 0px;
width: 1px;
}
/* Article message box styles */
table.ambox {
margin: 0px 10%; /* 10% = Will not overlap with other elements */
border: 1px solid #aaa;
/* @noflip */
border-left: 10px solid #1e90ff; /* Default "notice" blue */
background: #fbfbfb;
}
table.ambox + table.ambox { /* Single border between stacked boxes. */
margin-top: -1px;
}
.ambox th.mbox-text,
.ambox td.mbox-text { /* The message body cell(s) */
padding: 0.25em 0.5em; /* 0.5em left/right */
}
.ambox td.mbox-image { /* The left image cell */
/* @noflip */
padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */
}
.ambox td.mbox-imageright { /* The right image cell */
/* @noflip */
padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */
}
table.ambox-notice {
/* @noflip */
border-left: 10px solid #1e90ff; /* Blue */
}
table.ambox-speedy {
/* @noflip */
border-left: 10px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.ambox-delete {
/* @noflip */
border-left: 10px solid #b22222; /* Red */
}
table.ambox-content {
/* @noflip */
border-left: 10px solid #f28500; /* Orange */
}
table.ambox-style {
/* @noflip */
border-left: 10px solid #f4c430; /* Yellow */
}
table.ambox-move {
/* @noflip */
border-left: 10px solid #9932cc; /* Purple */
}
table.ambox-protection {
/* @noflip */
border-left: 10px solid #bba; /* Gray-gold */
}
/* Image message box styles */
table.imbox {
margin: 4px 10%;
border-collapse: collapse;
border: 3px solid #1e90ff; /* Default "notice" blue */
background: #fbfbfb;
}
.imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */
margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */
display: block; /* Fix for webkit to force 100% width. */
}
.mbox-inside .imbox { /* For imboxes inside other templates. */
margin: 4px;
}
table.imbox-notice {
border: 3px solid #1e90ff; /* Blue */
}
table.imbox-speedy {
border: 3px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.imbox-delete {
border: 3px solid #b22222; /* Red */
}
table.imbox-content {
border: 3px solid #f28500; /* Orange */
}
table.imbox-style {
border: 3px solid #f4c430; /* Yellow */
}
table.imbox-move {
border: 3px solid #9932cc; /* Purple */
}
table.imbox-protection {
border: 3px solid #bba; /* Gray-gold */
}
table.imbox-license {
border: 3px solid #88a; /* Dark gray */
background: #f7f8ff; /* Light gray */
}
table.imbox-featured {
border: 3px solid #cba135; /* Brown-gold */
}
/* Category message box styles */
table.cmbox {
margin: 3px 10%;
border-collapse: collapse;
border: 1px solid #aaa;
background: #DFE8FF; /* Default "notice" blue */
}
table.cmbox-notice {
background: #D8E8FF; /* Blue */
}
table.cmbox-speedy {
margin-top: 4px;
margin-bottom: 4px;
border: 4px solid #b22222; /* Red */
background: #FFDBDB; /* Pink */
}
table.cmbox-delete {
background: #FFDBDB; /* Red */
}
table.cmbox-content {
background: #FFE7CE; /* Orange */
}
table.cmbox-style {
background: #FFF9DB; /* Yellow */
}
table.cmbox-move {
background: #E4D8FF; /* Purple */
}
table.cmbox-protection {
background: #EFEFE1; /* Gray-gold */
}
/* Other pages message box styles */
table.ombox {
margin: 4px 10%;
border-collapse: collapse;
border: 1px solid #aaa; /* Default "notice" gray */
background: #f9f9f9;
}
table.ombox-notice {
border: 1px solid #aaa; /* Gray */
}
table.ombox-speedy {
border: 2px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.ombox-delete {
border: 2px solid #b22222; /* Red */
}
table.ombox-content {
border: 1px solid #f28500; /* Orange */
}
table.ombox-style {
border: 1px solid #f4c430; /* Yellow */
}
table.ombox-move {
border: 1px solid #9932cc; /* Purple */
}
table.ombox-protection {
border: 2px solid #bba; /* Gray-gold */
}
/* Talk page message box styles */
table.tmbox {
margin: 4px 10%;
border-collapse: collapse;
border: 1px solid #c0c090; /* Default "notice" gray-brown */
background: #f8eaba;
}
.mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */
margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */
width: 100%; /* For Safari and Opera */
}
.mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */
line-height: 1.5em; /* also "nested", so reset styles that are */
font-size: 100%; /* set in "mbox-small" above. */
}
table.tmbox-speedy {
border: 2px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.tmbox-delete {
border: 2px solid #b22222; /* Red */
}
table.tmbox-content {
border: 2px solid #f28500; /* Orange */
}
table.tmbox-style {
border: 2px solid #f4c430; /* Yellow */
}
table.tmbox-move {
border: 2px solid #9932cc; /* Purple */
}
table.tmbox-protection,
table.tmbox-notice {
border: 1px solid #c0c090; /* Gray-brown */
}
/* Disambig and set index box styles */
table.dmbox {
clear: both;
margin: 0.9em 1em;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
background: transparent;
}
/* Footer and header message box styles */
table.fmbox {
clear: both;
margin: 0.2em 0;
width: 100%;
border: 1px solid #aaa;
background: #f9f9f9; /* Default "system" gray */
}
table.fmbox-system {
background: #f9f9f9;
}
table.fmbox-warning {
border: 1px solid #bb7070; /* Dark pink */
background: #ffdbdb; /* Pink */
}
table.fmbox-editnotice {
background: transparent;
}
/* Div based "warning" style fmbox messages. */
div.mw-warning-with-logexcerpt,
div.mw-lag-warn-high,
div.mw-cascadeprotectedwarning,
div#mw-protect-cascadeon {
clear: both;
margin: 0.2em 0;
border: 1px solid #bb7070;
background: #ffdbdb;
padding: 0.25em 0.9em;
}
/* Div based "system" style fmbox messages.
Used in [[MediaWiki:Readonly lag]]. */
div.mw-lag-warn-normal,
div.fmbox-system {
clear: both;
margin: 0.2em 0;
border: 1px solid #aaa;
background: #f9f9f9;
padding: 0.25em 0.9em;
}
/* These mbox-small classes must be placed after all other
ambox/tmbox/ombox etc classes. "body.mediawiki" is so
they override "table.ambox + table.ambox" above. */
body.mediawiki table.mbox-small { /* For the "small=yes" option. */
/* @noflip */
clear: right;
/* @noflip */
float: right;
/* @noflip */
margin: 4px 0 4px 1em;
width: 238px;
font-size: 88%;
line-height: 1.25em;
}
body.mediawiki table.mbox-small-left { /* For the "small=left" option. */
/* @noflip */
margin: 4px 1em 4px 0;
width: 238px;
border-collapse: collapse;
font-size: 88%;
line-height: 1.25em;
}
/* Style for compact ambox */
/* Hide the images */
.compact-ambox table .mbox-image,
.compact-ambox table .mbox-imageright,
.compact-ambox table .mbox-empty-cell {
display: none;
}
/* Remove borders, backgrounds, padding, etc. */
.compact-ambox table.ambox {
border: none;
border-collapse: collapse;
background: transparent;
margin: 0 0 0 1.6em !important;
padding: 0 !important;
width: auto;
display: block;
}
body.mediawiki .compact-ambox table.mbox-small-left {
font-size: 100%;
width: auto;
margin: 0;
}
/* Style the text cell as a list item and remove its padding */
.compact-ambox table .mbox-text {
padding: 0 !important;
margin: 0 !important;
}
.compact-ambox table .mbox-text-span {
display: list-item;
line-height: 1.5em;
list-style-type: square;
list-style-image: url(//bits.wikimedia.org/skins/common/images/bullet.gif);
}
.skin-vector .compact-ambox table .mbox-text-span {
list-style-type: circle;
list-style-image: url(//bits.wikimedia.org/skins/vector/images/bullet-icon.png)
}
/* Allow for hiding text in compact form */
.compact-ambox .hide-when-compact {
display: none;
}
/* Remove default styles for [[MediaWiki:Noarticletext]]. */
div.noarticletext {
border: none;
background: transparent;
padding: 0;
}
/* Bold save button */
#wpSave {
font-weight: bold;
}
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */
.hiddenStructure {
display: inline !important;
color: #f00;
background-color: #0f0;
}
/* suppress missing interwiki image links where #ifexist cannot
be used due to high number of requests see .hidden-redlink on
[[m:MediaWiki:Common.css]] */
.check-icon a.new {
display: none;
speak: none;
}
/* Removes underlines from certain links */
.nounderlines a,
.IPA a:link, .IPA a:visited {
text-decoration: none !important;
}
/* Standard Navigationsleisten, aka box hiding thingy
from .de. Documentation at [[Wikipedia:NavFrame]]. */
div.NavFrame {
margin: 0;
padding: 4px;
border: 1px solid #aaa;
text-align: center;
border-collapse: collapse;
font-size: 95%;
}
div.NavFrame + div.NavFrame {
border-top-style: none;
border-top-style: hidden;
}
div.NavPic {
background-color: #fff;
margin: 0;
padding: 2px;
/* @noflip */
float: left;
}
div.NavFrame div.NavHead {
height: 1.6em;
font-weight: bold;
background-color: #ccf;
position: relative;
}
div.NavFrame p,
div.NavFrame div.NavContent,
div.NavFrame div.NavContent p {
font-size: 100%;
}
div.NavEnd {
margin: 0;
padding: 0;
line-height: 1px;
clear: both;
}
a.NavToggle {
position: absolute;
top: 0;
/* @noflip */
right: 3px;
font-weight: normal;
font-size: 90%;
}
/* Hatnotes and disambiguation notices */
.rellink,
.dablink {
font-style: italic;
/* @noflip */
padding-left: 1.6em;
margin-bottom: 0.5em;
}
.rellink i,
.dablink i {
font-style: normal;
}
/* Allow transcluded pages to display in lists rather than a table.
Compatible in Firefox; incompatible in IE6. */
.listify td { display: list-item; }
.listify tr { display: block; }
.listify table { display: block; }
/* Geographical coordinates defaults. See [[Template:Coord/link]]
for how these are used. The classes "geo", "longitude", and
"latitude" are used by the [[Geo microformat]]. */
.geo-default, .geo-dms, .geo-dec { display: inline; }
.geo-nondefault, .geo-multi-punct { display: none; }
.longitude, .latitude { white-space: nowrap; }
/* When <div class="nonumtoc"> is used on the table of contents,
the ToC will display without numbers */
.nonumtoc .tocnumber { display: none; }
.nonumtoc #toc ul,
.nonumtoc .toc ul {
line-height: 1.5em;
list-style: none none;
margin: .3em 0 0;
padding: 0;
}
.nonumtoc #toc ul ul,
.nonumtoc .toc ul ul {
/* @noflip */
margin: 0 0 0 2em;
}
/* Allow limiting of which header levels are shown in a TOC;
<div class="toclimit-3">, for instance, will limit to
showing ==headings== and ===headings=== but no further
(as long as there are no =headings= on the page, which
there shouldn't be according to the MoS). */
.toclimit-2 .toclevel-1 ul,
.toclimit-3 .toclevel-2 ul,
.toclimit-4 .toclevel-3 ul,
.toclimit-5 .toclevel-4 ul,
.toclimit-6 .toclevel-5 ul,
.toclimit-7 .toclevel-6 ul {
display: none;
}
/* Styling for Template:Quote */
blockquote.templatequote {
margin-top: 0;
}
blockquote.templatequote div.templatequotecite {
line-height: 1em;
/* @noflip */
text-align: left;
/* @noflip */
padding-left: 2em;
margin-top: 0;
}
blockquote.templatequote div.templatequotecite cite {
font-size: 85%;
}
/* User block messages */
div.user-block {
padding: 5px;
margin-bottom: 0.5em;
border: 1px solid #A9A9A9;
background-color: #FFEFD5;
}
/* Prevent line breaks in silly places:
1) Where desired
2) Links when we don't want them to
3) Bold "links" to the page itself
4) Ref tags with group names <ref group="Note"> --> "[Note 1]" */
.nowrap,
.nowraplinks a,
.nowraplinks .selflink,
sup.reference a {
white-space: nowrap;
}
/* But allow wrapping where desired: */
.wrap,
.wraplinks a {
white-space: normal;
}
/* For template documentation */
.template-documentation {
clear: both;
margin: 1em 0 0 0;
border: 1px solid #aaa;
background-color: #ecfcf4;
padding: 1em;
}
/* Inline divs in ImageMaps (code borrowed from de.wiki) */
.imagemap-inline div {
display: inline;
}
/* Increase the height of the image upload box */
#wpUploadDescription {
height: 13em;
}
/* Minimum thumb width */
.thumbinner {
min-width: 100px;
}
/* Makes the background of a framed image white instead of gray.
Only visible with transparent images. */
div.thumb .thumbimage {
background-color: #fff;
}
/* The backgrounds for galleries. */
div#content .gallerybox div.thumb {
/* Light gray padding */
background-color: #F9F9F9;
}
/* Put a chequered background behind images, only visible if they have transparency.
'.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */
.gallerybox .thumb img {
background: #fff url(//bits.wikimedia.org/skins/common/images/Checker-16x16.png) repeat;
}
/* But not on articles, user pages, portals or with opt-out. */
.ns-0 .gallerybox .thumb img,
.ns-2 .gallerybox .thumb img,
.ns-100 .gallerybox .thumb img,
.nochecker .gallerybox .thumb img {
background: #fff;
}
/* Category tree styling. Works in conjuction with [[MediaWiki:Categorytree-expand-bullet]],
[[MediaWiki:Categorytree-collapse-bullet]] and [[MediaWiki:Categorytree-empty-bullet]]. */
#mw-subcategories ul {
list-style: none none;
margin-left: 0.25em;
}
.CategoryTreeChildren {
margin-left: 1.25em;
}
.CategoryTreeToggle {
color: #0645AD;
}
.CategoryTreeEmptyBullet {
color: #C0C0C0;
}
/* Prevent floating boxes from overlapping any category listings,
file histories, edit previews, and edit [Show changes] views. */
#mw-subcategories, #mw-pages, #mw-category-media,
#filehistory, #wikiPreview, #wikiDiff {
clear: both;
}
body.rtl #mw-articlefeedbackv5, body.rtl #mw-articlefeedback {
display: block; /* Override inline block mode */
margin-bottom: 1em;
/* @noflip */
clear: right; /* Clear any info boxes that stick out */
/* @noflip */
float: right; /* Prevents margin collapsing */
}
/* Selectively hide headers in WikiProject banners */
.wpb .wpb-header { display: none; }
.wpbs-inner .wpb .wpb-header { display: block; } /* for IE */
.wpbs-inner .wpb .wpb-header { display: table-row; } /* for real browsers */
.wpbs-inner .wpb-outside { display: none; } /* hide things that should only display outside shells */
/* Styling for Abuse Filter tags */
.mw-tag-markers {
font-family:sans-serif;
font-style:italic;
font-size:90%;
}
/* Hide stuff meant for accounts with special permissions. Made visible again in
[[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-accountcreator.css]],
[[MediaWiki:Group-templateeditor.css]] and [[Mediawiki:Group-autoconfirmed.css]]. */
.sysop-show,
.accountcreator-show,
.templateeditor-show,
.autoconfirmed-show {
display: none;
}
/**
* Hide the redlink generated by {{Editnotice}},
* this overrides the ".sysop-show { display: none; }" above that applies
* to the same link as well.
*/
.ve-init-mw-viewPageTarget-toolbar-editNotices-notice .editnotice-redlink {
display: none !important;
}
/* Remove bullets when there are multiple edit page warnings */
ul.permissions-errors > li {
list-style: none none;
}
ul.permissions-errors {
margin: 0;
}
/* No linewrap on the labels of the login/signup page */
body.page-Special_UserLogin .mw-label label,
body.page-Special_UserLogin_signup .mw-label label {
white-space: nowrap;
}
/* Disable the automatic text-size adjust of WebKit on iPhones etc.
It scales some text, and not the other. Use none, or fixed percentage instead.
Use media selector, because defining a value, overwrites platform defaults. */
@media only screen and (max-device-width: 480px) {
body {
-webkit-text-size-adjust: none;
}
}
/* Pie chart test: Transparent borders */
.transborder {
border: solid transparent;
}
* html .transborder { /* IE6 */
border: solid #000001;
filter: chroma(color=#000001);
}
/* Styling for updated markers on watchlist, history and recent/related changes.
Bullets are handled in skin-specific stylesheets. */
.updatedmarker {
background-color: transparent;
color: #006400;
}
li.mw-changeslist-line-watched .mw-title,
table.mw-changeslist-line-watched .mw-title,
table.mw-enhanced-watch .mw-enhanced-rctime {
font-weight: normal;
}
/* Adjust font for inline HTML generated formulae */
span.texhtml {
font-family: "Times New Roman", "Nimbus Roman No9 L", Times, serif;
font-size: 118%;
white-space: nowrap;
}
span.texhtml span.texhtml {
font-size: 100%;
}
/* Fix so <syntaxhighlight> tags and .css and .js pages get normal text size.
[[Bugzilla:26204]]. See also [[Wikipedia:Typography#The monospace 'bug']] */
div.mw-geshi div,
div.mw-geshi div pre,
span.mw-geshi,
pre.source-css,
pre.source-javascript,
pre.source-lua {
font-family: monospace, Courier !important;
}
/* Fix styling of transcluded prefindex tables */
table#mw-prefixindex-list-table,
table#mw-prefixindex-nav-table {
width: 98%;
}
/* For portals, added 2011-12-07 -bv
On wide screens, show these as two columns
On narrow and mobile screens, let them collapse into a single column */
.portal-column-left {
float: left;
width: 50%;
}
.portal-column-right {
float: right;
width: 49%;
}
.portal-column-left-wide {
float: left;
width: 60%;
}
.portal-column-right-narrow {
float: right;
width: 39%;
}
.portal-column-left-extra-wide {
float: left;
width: 70%;
}
.portal-column-right-extra-narrow {
float: right;
width: 29%;
}
@media only screen and (max-width: 800px) {
/* Decouple the columns on narrow screens */
.portal-column-left,
.portal-column-right,
.portal-column-left-wide,
.portal-column-right-narrow,
.portal-column-left-extra-wide,
.portal-column-right-extra-narrow {
float: inherit;
width: inherit;
}
}
/* For announcements */
#bodyContent .letterhead {
background-image:url('//upload.wikimedia.org/wikipedia/commons/e/e0/Tan-page-corner.png');
background-repeat:no-repeat;
padding: 2em;
background-color: #faf9f2;
}
/* Tree style lists */
.treeview ul {
padding: 0;
margin: 0;
}
.treeview li {
padding: 0;
margin: 0;
list-style-type: none;
list-style-image: none;
zoom: 1; /* BE KIND TO IE6 */;
}
.treeview li li {
background: url("//upload.wikimedia.org/wikipedia/commons/f/f2/Treeview-grey-line.png") no-repeat 0 -2981px;
/* @noflip */
padding-left: 20px;
text-indent: 0.3em;
}
.treeview li li.lastline {
background-position: 0 -5971px
}
.treeview li.emptyline > ul {
/* @noflip */
margin-left: -1px;
}
.treeview li.emptyline > ul > li:first-child {
background-position: 0 9px
}
/* Make it possible to hide checkboxes in <inputbox> */
.inputbox-hidecheckboxes form .inputbox-element {
display: none !important;
}
/* Hide charinsert base for those not using the gadget */
#editpage-specialchars {
display: none;
}
/* work-around for [[bugzilla:23965]] (Kaltura advertisement) */
.k-player .k-attribution {
visibility: hidden;
}
.modules-table {
width: 500px;
float: right;
}
d87fa07ceca4577715935ae6836383df88249703
10
2013-11-17T21:28:22Z
Dukepyrolator
4
Created page with "/* CSS placed here will be applied to all skins */ /* Default styling for HTML elements */ dfn { font-style: inherit; /* Reset default styling for <dfn> */ } sup, sub { ..."
css
text/css
/* CSS placed here will be applied to all skins */
/* Default styling for HTML elements */
dfn {
font-style: inherit; /* Reset default styling for <dfn> */
}
sup, sub {
line-height: 1em; /* Reduce line-height for <sup> and <sub> */
}
/* Main page fixes */
#interwiki-completelist {
font-weight: bold;
}
body.page-Main_Page #ca-delete {
display: none !important;
}
body.page-Main_Page #mp-topbanner {
clear: both;
}
/* Edit window toolbar */
#toolbar {
height: 22px;
margin-bottom: 6px;
}
/* Highlight data points in the info action if specified in the URL */
body.action-info :target {
background: #DEF;
}
/* Make the list of references smaller */
ol.references,
div.reflist,
div.refbegin {
font-size: 90%; /* Default font-size */
margin-bottom: 0.5em;
}
div.refbegin-100 {
font-size: 100%; /* Option for normal fontsize in {{refbegin}} */
}
div.reflist ol.references {
font-size: 100%; /* Reset font-size when nested in div.reflist */
list-style-type: inherit; /* Enable custom list style types */
}
/* Reset top margin for lists embedded in columns */
div.columns dl,
div.columns ol,
div.columns ul {
margin-top: 0;
}
/* Avoid list items from breaking between columns */
div.columns li,
div.columns dd dd {
-webkit-column-break-inside: avoid;
page-break-inside: avoid;
break-inside: avoid-column;
}
/* Highlight clicked reference in blue to help navigation */
ol.references li:target,
sup.reference:target,
span.citation:target {
background-color: #DEF;
}
/* Ensure refs in table headers and the like aren't bold or italic */
sup.reference {
font-weight: normal;
font-style: normal;
}
/* Allow hidden ref errors to be shown by user CSS */
span.brokenref {
display: none;
}
/* Styling for citations (CSS3). Breaks long urls, etc., rather than overflowing box */
.citation {
word-wrap: break-word;
}
/* For linked citation numbers and document IDs, where
the number need not be shown on a screen or a handheld,
but should be included in the printed version */
@media screen, handheld {
.citation *.printonly {
display: none;
}
}
/* Style for [[Template:Flowlist]] that Lets lists flow around floating objecs */
.flowlist ul {
overflow-x: hidden;
margin-left: 0em;
padding-left: 1.6em;
}
.flowlist ol {
overflow-x: hidden;
margin-left: 0em;
padding-left: 3.2em;
}
.flowlist dl {
overflow-x: hidden;
}
/* Style for horizontal lists (separator following item).
IE8-specific classes are assigned in [[MediaWiki:Common.js/IEFixes.js]].
@source mediawiki.org/wiki/Snippets/Horizontal_lists
@revision 4 (2013-11-17)
@author [[User:Edokter]]
*/
.skin-monobook .hlist dl,
.skin-modern .hlist dl,
.skin-vector .hlist dl {
line-height: 1.5em;
}
.hlist dl,
.hlist ol,
.hlist ul {
margin: 0;
padding: 0;
}
/* Display list items inline */
.hlist dd,
.hlist dt,
.hlist li {
margin: 0;
display: inline;
}
/* Display nested lists inline */
.hlist dl dl, .hlist dl ol, .hlist dl ul,
.hlist ol dl, .hlist ol ol, .hlist ol ul,
.hlist ul dl, .hlist ul ol, .hlist ul ul {
display: inline;
}
/* Generate interpuncts */
.hlist dt:after {
content: ":";
}
.hlist dd:after,
.hlist li:after {
content: " ·";
font-weight: bold;
}
.hlist dd:last-child:after,
.hlist dt:last-child:after,
.hlist li:last-child:after {
content: none;
}
/* For IE8 */
.hlist dd.hlist-last-child:after,
.hlist dt.hlist-last-child:after,
.hlist li.hlist-last-child:after {
content: none;
}
/* Add parentheses around nested lists */
.hlist dd dd:first-child:before, .hlist dd dt:first-child:before, .hlist dd li:first-child:before,
.hlist dt dd:first-child:before, .hlist dt dt:first-child:before, .hlist dt li:first-child:before,
.hlist li dd:first-child:before, .hlist li dt:first-child:before, .hlist li li:first-child:before {
content: "(";
font-weight: normal;
}
.hlist dd dd:last-child:after, .hlist dd dt:last-child:after, .hlist dd li:last-child:after,
.hlist dt dd:last-child:after, .hlist dt dt:last-child:after, .hlist dt li:last-child:after,
.hlist li dd:last-child:after, .hlist li dt:last-child:after, .hlist li li:last-child:after {
content: ")";
font-weight: normal;
}
/* For IE8 */
.hlist dd dd.hlist-last-child:after, .hlist dd dt.hlist-last-child:after, .hlist dd li.hlist-last-child:after,
.hlist dt dd.hlist-last-child:after, .hlist dt dt.hlist-last-child:after, .hlist dt li.hlist-last-child:after,
.hlist li dd.hlist-last-child:after, .hlist li dt.hlist-last-child:after, .hlist li li.hlist-last-child:after {
content: ")";
font-weight: normal;
}
/* Put ordinals in front of ordered list items */
.hlist ol {
counter-reset: list-item;
}
.hlist ol > li {
counter-increment: list-item;
}
.hlist ol > li:before {
content: counter(list-item) " ";
}
.hlist dd ol > li:first-child:before,
.hlist dt ol > li:first-child:before,
.hlist li ol > li:first-child:before {
content: "(" counter(list-item) " ";
}
/* Unbulleted lists */
.plainlist ul {
line-height: inherit;
list-style: none none;
margin: 0;
}
.plainlist ul li {
margin-bottom: 0;
}
/* Default style for navigation boxes */
.navbox { /* Navbox container style */
border: 1px solid #aaa;
width: 100%;
margin: auto;
clear: both;
font-size: 88%;
text-align: center;
padding: 1px;
}
.navbox-inner,
.navbox-subgroup {
width: 100%;
}
.navbox-group,
.navbox-title,
.navbox-abovebelow {
padding: 0.25em 1em; /* Title, group and above/below styles */
line-height: 1.5em;
text-align: center;
}
th.navbox-group { /* Group style */
white-space: nowrap;
/* @noflip */
text-align: right;
}
.navbox,
.navbox-subgroup {
background: #fdfdfd; /* Background color */
}
.navbox-list {
line-height: 1.8em;
border-color: #fdfdfd; /* Must match background color */
}
.navbox th,
.navbox-title {
background: #ccccff; /* Level 1 color */
}
.navbox-abovebelow,
th.navbox-group,
.navbox-subgroup .navbox-title {
background: #ddddff; /* Level 2 color */
}
.navbox-subgroup .navbox-group,
.navbox-subgroup .navbox-abovebelow {
background: #e6e6ff; /* Level 3 color */
}
.navbox-even {
background: #f7f7f7; /* Even row striping */
}
.navbox-odd {
background: transparent; /* Odd row striping */
}
table.navbox + table.navbox { /* Single pixel border between adjacent navboxes */
margin-top: -1px; /* (doesn't work for IE6, but that's okay) */
}
.navbox .hlist td dl,
.navbox .hlist td ol,
.navbox .hlist td ul,
.navbox td.hlist dl,
.navbox td.hlist ol,
.navbox td.hlist ul {
padding: 0.125em 0; /* Adjust hlist padding in navboxes */
}
ol + table.navbox,
ul + table.navbox {
margin-top: 0.5em; /* Prevent lists from clinging to navboxes */
}
/* Default styling for Navbar template */
.navbar {
display: inline;
font-size: 88%;
font-weight: normal;
}
.navbar ul {
display: inline;
white-space: nowrap;
}
.navbar li {
word-spacing: -0.125em;
}
.navbar.mini li span {
font-variant: small-caps;
}
/* Navbar styling when nested in infobox and navbox */
.infobox .navbar {
font-size: 100%;
}
.navbox .navbar {
display: block;
font-size: 100%;
}
.navbox-title .navbar {
/* @noflip */
float: left;
/* @noflip */
text-align: left;
/* @noflip */
margin-right: 0.5em;
width: 6em;
}
/* 'show'/'hide' buttons created dynamically by the CollapsibleTables javascript
in [[MediaWiki:Common.js]] are styled here so they can be customised. */
.collapseButton {
/* @noflip */
float: right;
font-weight: normal;
/* @noflip */
margin-left: 0.5em;
/* @noflip */
text-align: right;
width: auto;
}
/* In navboxes, the show/hide button balances the v·d·e links
from [[Template:Navbar]], so they need to be the same width. */
.navbox .collapseButton {
width: 6em;
}
/* Styling for JQuery makeCollapsible, matching that of collapseButton */
.mw-collapsible-toggle {
font-weight: normal;
/* @noflip */
text-align: right;
}
.navbox .mw-collapsible-toggle {
width: 6em;
}
/* Infobox template style */
.infobox {
border: 1px solid #aaa;
background-color: #f9f9f9;
color: black;
/* @noflip */
margin: 0.5em 0 0.5em 1em;
padding: 0.2em;
/* @noflip */
float: right;
/* @noflip */
clear: right;
/* @noflip */
text-align: left;
font-size: 88%;
line-height: 1.5em;
}
.infobox caption {
font-size: 125%;
font-weight: bold;
}
.infobox td,
.infobox th {
vertical-align: top;
}
.infobox.bordered {
border-collapse: collapse;
}
.infobox.bordered td,
.infobox.bordered th {
border: 1px solid #aaa;
}
.infobox.bordered .borderless td,
.infobox.bordered .borderless th {
border: 0;
}
.infobox.sisterproject {
width: 20em;
font-size: 90%;
}
.infobox.standard-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
}
.infobox.standard-talk.bordered td,
.infobox.standard-talk.bordered th {
border: 1px solid #c0c090;
}
/* styles for bordered infobox with merged rows */
.infobox.bordered .mergedtoprow td,
.infobox.bordered .mergedtoprow th {
border: 0;
border-top: 1px solid #aaa;
/* @noflip */
border-right: 1px solid #aaa;
}
.infobox.bordered .mergedrow td,
.infobox.bordered .mergedrow th {
border: 0;
/* @noflip */
border-right: 1px solid #aaa;
}
/* Styles for geography infoboxes, eg countries,
country subdivisions, cities, etc. */
.infobox.geography {
border-collapse: collapse;
line-height: 1.2em;
font-size: 90%;
}
.infobox.geography td,
.infobox.geography th {
border-top: 1px solid #aaa;
padding: 0.4em 0.6em 0.4em 0.6em;
}
.infobox.geography .mergedtoprow td,
.infobox.geography .mergedtoprow th {
border-top: 1px solid #aaa;
padding: 0.4em 0.6em 0.2em 0.6em;
}
.infobox.geography .mergedrow td,
.infobox.geography .mergedrow th {
border: 0;
padding: 0 0.6em 0.2em 0.6em;
}
.infobox.geography .mergedbottomrow td,
.infobox.geography .mergedbottomrow th {
border-top: 0;
border-bottom: 1px solid #aaa;
padding: 0 0.6em 0.4em 0.6em;
}
.infobox.geography .maptable td,
.infobox.geography .maptable th {
border: 0;
padding: 0;
}
/* Normal font styling for table row headers with scope="row" tag */
.wikitable.plainrowheaders th[scope=row] {
font-weight: normal;
/* @noflip */
text-align: left;
}
/* Lists in data cells are always left-aligned */
.wikitable td ul,
.wikitable td ol,
.wikitable td dl {
/* @noflip */
text-align: left;
}
/* ...unless they also use the hlist class */
.wikitable.hlist td ul,
.wikitable.hlist td ol,
.wikitable.hlist td dl {
text-align: inherit;
}
/* Icons for medialist templates [[Template:Listen]],
[[Template:Multi-listen_start]], [[Template:Video]],
[[Template:Multi-video_start]] */
div.listenlist {
background: url("//upload.wikimedia.org/wikipedia/commons/3/3f/Gnome_speakernotes_30px.png");
/* @noflip */
padding-left: 40px;
}
/* Fix for hieroglyphs specificality issue in infoboxes ([[Bugzilla:41869]]) */
table.mw-hiero-table td {
vertical-align: middle;
}
/* Style rules for media list templates */
div.medialist {
min-height: 50px;
margin: 1em;
/* @noflip */
background-position: top left;
background-repeat: no-repeat;
}
div.medialist ul {
list-style-type: none;
list-style-image: none;
margin: 0;
}
div.medialist ul li {
padding-bottom: 0.5em;
}
div.medialist ul li li {
font-size: 91%;
padding-bottom: 0;
}
/* Change the external link icon to an Adobe icon for all PDF files
in browsers that support these CSS selectors, like Mozilla and Opera */
div#content a[href$=".pdf"].external,
div#content a[href*=".pdf?"].external,
div#content a[href*=".pdf#"].external,
div#content a[href$=".PDF"].external,
div#content a[href*=".PDF?"].external,
div#content a[href*=".PDF#"].external,
div#mw_content a[href$=".pdf"].external,
div#mw_content a[href*=".pdf?"].external,
div#mw_content a[href*=".pdf#"].external,
div#mw_content a[href$=".PDF"].external,
div#mw_content a[href*=".PDF?"].external,
div#mw_content a[href*=".PDF#"].external {
background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right;
/* @noflip */
padding-right: 18px;
}
/* Change the external link icon to an Adobe icon anywhere the PDFlink class
is used (notably Template:PDFlink). This works in IE, unlike the above. */
div#content span.PDFlink a,
div#mw_content span.PDFlink a {
background: url("//upload.wikimedia.org/wikipedia/commons/2/23/Icons-mini-file_acrobat.gif") no-repeat right;
/* @noflip */
padding-right: 18px;
}
/* Content in columns with CSS instead of tables ([[Template:Columns]]) */
div.columns-2 div.column {
/* @noflip */
float: left;
width: 50%;
min-width: 300px;
}
div.columns-3 div.column {
/* @noflip */
float: left;
width: 33.3%;
min-width: 200px;
}
div.columns-4 div.column {
/* @noflip */
float: left;
width: 25%;
min-width: 150px;
}
div.columns-5 div.column {
/* @noflip */
float: left;
width: 20%;
min-width: 120px;
}
/* Messagebox templates */
.messagebox {
border: 1px solid #aaa;
background-color: #f9f9f9;
width: 80%;
margin: 0 auto 1em auto;
padding: .2em;
}
.messagebox.merge {
border: 1px solid #c0b8cc;
background-color: #f0e5ff;
text-align: center;
}
.messagebox.cleanup {
border: 1px solid #9f9fff;
background-color: #efefff;
text-align: center;
}
.messagebox.standard-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
margin: 4px auto;
}
/* For old WikiProject banners inside banner shells. */
.mbox-inside .standard-talk,
.messagebox.nested-talk {
border: 1px solid #c0c090;
background-color: #f8eaba;
width: 100%;
margin: 2px 0;
padding: 2px;
}
.messagebox.small {
width: 238px;
font-size: 85%;
/* @noflip */
float: right;
clear: both;
/* @noflip */
margin: 0 0 1em 1em;
line-height: 1.25em;
}
.messagebox.small-talk {
width: 238px;
font-size: 85%;
/* @noflip */
float: right;
clear: both;
/* @noflip */
margin: 0 0 1em 1em;
line-height: 1.25em;
background: #F8EABA;
}
/* Cell sizes for ambox/tmbox/imbox/cmbox/ombox/fmbox/dmbox message boxes */
th.mbox-text, td.mbox-text { /* The message body cell(s) */
border: none;
/* @noflip */
padding: 0.25em 0.9em; /* 0.9em left/right */
width: 100%; /* Make all mboxes the same width regardless of text length */
}
td.mbox-image { /* The left image cell */
border: none;
/* @noflip */
padding: 2px 0 2px 0.9em; /* 0.9em left, 0px right */
text-align: center;
}
td.mbox-imageright { /* The right image cell */
border: none;
/* @noflip */
padding: 2px 0.9em 2px 0; /* 0px left, 0.9em right */
text-align: center;
}
td.mbox-empty-cell { /* An empty narrow cell */
border: none;
padding: 0px;
width: 1px;
}
/* Article message box styles */
table.ambox {
margin: 0px 10%; /* 10% = Will not overlap with other elements */
border: 1px solid #aaa;
/* @noflip */
border-left: 10px solid #1e90ff; /* Default "notice" blue */
background: #fbfbfb;
}
table.ambox + table.ambox { /* Single border between stacked boxes. */
margin-top: -1px;
}
.ambox th.mbox-text,
.ambox td.mbox-text { /* The message body cell(s) */
padding: 0.25em 0.5em; /* 0.5em left/right */
}
.ambox td.mbox-image { /* The left image cell */
/* @noflip */
padding: 2px 0 2px 0.5em; /* 0.5em left, 0px right */
}
.ambox td.mbox-imageright { /* The right image cell */
/* @noflip */
padding: 2px 0.5em 2px 0; /* 0px left, 0.5em right */
}
table.ambox-notice {
/* @noflip */
border-left: 10px solid #1e90ff; /* Blue */
}
table.ambox-speedy {
/* @noflip */
border-left: 10px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.ambox-delete {
/* @noflip */
border-left: 10px solid #b22222; /* Red */
}
table.ambox-content {
/* @noflip */
border-left: 10px solid #f28500; /* Orange */
}
table.ambox-style {
/* @noflip */
border-left: 10px solid #f4c430; /* Yellow */
}
table.ambox-move {
/* @noflip */
border-left: 10px solid #9932cc; /* Purple */
}
table.ambox-protection {
/* @noflip */
border-left: 10px solid #bba; /* Gray-gold */
}
/* Image message box styles */
table.imbox {
margin: 4px 10%;
border-collapse: collapse;
border: 3px solid #1e90ff; /* Default "notice" blue */
background: #fbfbfb;
}
.imbox .mbox-text .imbox { /* For imboxes inside imbox-text cells. */
margin: 0 -0.5em; /* 0.9 - 0.5 = 0.4em left/right. */
display: block; /* Fix for webkit to force 100% width. */
}
.mbox-inside .imbox { /* For imboxes inside other templates. */
margin: 4px;
}
table.imbox-notice {
border: 3px solid #1e90ff; /* Blue */
}
table.imbox-speedy {
border: 3px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.imbox-delete {
border: 3px solid #b22222; /* Red */
}
table.imbox-content {
border: 3px solid #f28500; /* Orange */
}
table.imbox-style {
border: 3px solid #f4c430; /* Yellow */
}
table.imbox-move {
border: 3px solid #9932cc; /* Purple */
}
table.imbox-protection {
border: 3px solid #bba; /* Gray-gold */
}
table.imbox-license {
border: 3px solid #88a; /* Dark gray */
background: #f7f8ff; /* Light gray */
}
table.imbox-featured {
border: 3px solid #cba135; /* Brown-gold */
}
/* Category message box styles */
table.cmbox {
margin: 3px 10%;
border-collapse: collapse;
border: 1px solid #aaa;
background: #DFE8FF; /* Default "notice" blue */
}
table.cmbox-notice {
background: #D8E8FF; /* Blue */
}
table.cmbox-speedy {
margin-top: 4px;
margin-bottom: 4px;
border: 4px solid #b22222; /* Red */
background: #FFDBDB; /* Pink */
}
table.cmbox-delete {
background: #FFDBDB; /* Red */
}
table.cmbox-content {
background: #FFE7CE; /* Orange */
}
table.cmbox-style {
background: #FFF9DB; /* Yellow */
}
table.cmbox-move {
background: #E4D8FF; /* Purple */
}
table.cmbox-protection {
background: #EFEFE1; /* Gray-gold */
}
/* Other pages message box styles */
table.ombox {
margin: 4px 10%;
border-collapse: collapse;
border: 1px solid #aaa; /* Default "notice" gray */
background: #f9f9f9;
}
table.ombox-notice {
border: 1px solid #aaa; /* Gray */
}
table.ombox-speedy {
border: 2px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.ombox-delete {
border: 2px solid #b22222; /* Red */
}
table.ombox-content {
border: 1px solid #f28500; /* Orange */
}
table.ombox-style {
border: 1px solid #f4c430; /* Yellow */
}
table.ombox-move {
border: 1px solid #9932cc; /* Purple */
}
table.ombox-protection {
border: 2px solid #bba; /* Gray-gold */
}
/* Talk page message box styles */
table.tmbox {
margin: 4px 10%;
border-collapse: collapse;
border: 1px solid #c0c090; /* Default "notice" gray-brown */
background: #f8eaba;
}
.mediawiki .mbox-inside .tmbox { /* For tmboxes inside other templates. The "mediawiki" class ensures that */
margin: 2px 0; /* this declaration overrides other styles (including mbox-small above) */
width: 100%; /* For Safari and Opera */
}
.mbox-inside .tmbox.mbox-small { /* "small" tmboxes should not be small when */
line-height: 1.5em; /* also "nested", so reset styles that are */
font-size: 100%; /* set in "mbox-small" above. */
}
table.tmbox-speedy {
border: 2px solid #b22222; /* Red */
background: #fee; /* Pink */
}
table.tmbox-delete {
border: 2px solid #b22222; /* Red */
}
table.tmbox-content {
border: 2px solid #f28500; /* Orange */
}
table.tmbox-style {
border: 2px solid #f4c430; /* Yellow */
}
table.tmbox-move {
border: 2px solid #9932cc; /* Purple */
}
table.tmbox-protection,
table.tmbox-notice {
border: 1px solid #c0c090; /* Gray-brown */
}
/* Disambig and set index box styles */
table.dmbox {
clear: both;
margin: 0.9em 1em;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
background: transparent;
}
/* Footer and header message box styles */
table.fmbox {
clear: both;
margin: 0.2em 0;
width: 100%;
border: 1px solid #aaa;
background: #f9f9f9; /* Default "system" gray */
}
table.fmbox-system {
background: #f9f9f9;
}
table.fmbox-warning {
border: 1px solid #bb7070; /* Dark pink */
background: #ffdbdb; /* Pink */
}
table.fmbox-editnotice {
background: transparent;
}
/* Div based "warning" style fmbox messages. */
div.mw-warning-with-logexcerpt,
div.mw-lag-warn-high,
div.mw-cascadeprotectedwarning,
div#mw-protect-cascadeon {
clear: both;
margin: 0.2em 0;
border: 1px solid #bb7070;
background: #ffdbdb;
padding: 0.25em 0.9em;
}
/* Div based "system" style fmbox messages.
Used in [[MediaWiki:Readonly lag]]. */
div.mw-lag-warn-normal,
div.fmbox-system {
clear: both;
margin: 0.2em 0;
border: 1px solid #aaa;
background: #f9f9f9;
padding: 0.25em 0.9em;
}
/* These mbox-small classes must be placed after all other
ambox/tmbox/ombox etc classes. "body.mediawiki" is so
they override "table.ambox + table.ambox" above. */
body.mediawiki table.mbox-small { /* For the "small=yes" option. */
/* @noflip */
clear: right;
/* @noflip */
float: right;
/* @noflip */
margin: 4px 0 4px 1em;
width: 238px;
font-size: 88%;
line-height: 1.25em;
}
body.mediawiki table.mbox-small-left { /* For the "small=left" option. */
/* @noflip */
margin: 4px 1em 4px 0;
width: 238px;
border-collapse: collapse;
font-size: 88%;
line-height: 1.25em;
}
/* Style for compact ambox */
/* Hide the images */
.compact-ambox table .mbox-image,
.compact-ambox table .mbox-imageright,
.compact-ambox table .mbox-empty-cell {
display: none;
}
/* Remove borders, backgrounds, padding, etc. */
.compact-ambox table.ambox {
border: none;
border-collapse: collapse;
background: transparent;
margin: 0 0 0 1.6em !important;
padding: 0 !important;
width: auto;
display: block;
}
body.mediawiki .compact-ambox table.mbox-small-left {
font-size: 100%;
width: auto;
margin: 0;
}
/* Style the text cell as a list item and remove its padding */
.compact-ambox table .mbox-text {
padding: 0 !important;
margin: 0 !important;
}
.compact-ambox table .mbox-text-span {
display: list-item;
line-height: 1.5em;
list-style-type: square;
list-style-image: url(//bits.wikimedia.org/skins/common/images/bullet.gif);
}
.skin-vector .compact-ambox table .mbox-text-span {
list-style-type: circle;
list-style-image: url(//bits.wikimedia.org/skins/vector/images/bullet-icon.png)
}
/* Allow for hiding text in compact form */
.compact-ambox .hide-when-compact {
display: none;
}
/* Remove default styles for [[MediaWiki:Noarticletext]]. */
div.noarticletext {
border: none;
background: transparent;
padding: 0;
}
/* Bold save button */
#wpSave {
font-weight: bold;
}
/* class hiddenStructure is defunct. See [[Wikipedia:hiddenStructure]] */
.hiddenStructure {
display: inline !important;
color: #f00;
background-color: #0f0;
}
/* suppress missing interwiki image links where #ifexist cannot
be used due to high number of requests see .hidden-redlink on
[[m:MediaWiki:Common.css]] */
.check-icon a.new {
display: none;
speak: none;
}
/* Removes underlines from certain links */
.nounderlines a,
.IPA a:link, .IPA a:visited {
text-decoration: none !important;
}
/* Standard Navigationsleisten, aka box hiding thingy
from .de. Documentation at [[Wikipedia:NavFrame]]. */
div.NavFrame {
margin: 0;
padding: 4px;
border: 1px solid #aaa;
text-align: center;
border-collapse: collapse;
font-size: 95%;
}
div.NavFrame + div.NavFrame {
border-top-style: none;
border-top-style: hidden;
}
div.NavPic {
background-color: #fff;
margin: 0;
padding: 2px;
/* @noflip */
float: left;
}
div.NavFrame div.NavHead {
height: 1.6em;
font-weight: bold;
background-color: #ccf;
position: relative;
}
div.NavFrame p,
div.NavFrame div.NavContent,
div.NavFrame div.NavContent p {
font-size: 100%;
}
div.NavEnd {
margin: 0;
padding: 0;
line-height: 1px;
clear: both;
}
a.NavToggle {
position: absolute;
top: 0;
/* @noflip */
right: 3px;
font-weight: normal;
font-size: 90%;
}
/* Hatnotes and disambiguation notices */
.rellink,
.dablink {
font-style: italic;
/* @noflip */
padding-left: 1.6em;
margin-bottom: 0.5em;
}
.rellink i,
.dablink i {
font-style: normal;
}
/* Allow transcluded pages to display in lists rather than a table.
Compatible in Firefox; incompatible in IE6. */
.listify td { display: list-item; }
.listify tr { display: block; }
.listify table { display: block; }
/* Geographical coordinates defaults. See [[Template:Coord/link]]
for how these are used. The classes "geo", "longitude", and
"latitude" are used by the [[Geo microformat]]. */
.geo-default, .geo-dms, .geo-dec { display: inline; }
.geo-nondefault, .geo-multi-punct { display: none; }
.longitude, .latitude { white-space: nowrap; }
/* When <div class="nonumtoc"> is used on the table of contents,
the ToC will display without numbers */
.nonumtoc .tocnumber { display: none; }
.nonumtoc #toc ul,
.nonumtoc .toc ul {
line-height: 1.5em;
list-style: none none;
margin: .3em 0 0;
padding: 0;
}
.nonumtoc #toc ul ul,
.nonumtoc .toc ul ul {
/* @noflip */
margin: 0 0 0 2em;
}
/* Allow limiting of which header levels are shown in a TOC;
<div class="toclimit-3">, for instance, will limit to
showing ==headings== and ===headings=== but no further
(as long as there are no =headings= on the page, which
there shouldn't be according to the MoS). */
.toclimit-2 .toclevel-1 ul,
.toclimit-3 .toclevel-2 ul,
.toclimit-4 .toclevel-3 ul,
.toclimit-5 .toclevel-4 ul,
.toclimit-6 .toclevel-5 ul,
.toclimit-7 .toclevel-6 ul {
display: none;
}
/* Styling for Template:Quote */
blockquote.templatequote {
margin-top: 0;
}
blockquote.templatequote div.templatequotecite {
line-height: 1em;
/* @noflip */
text-align: left;
/* @noflip */
padding-left: 2em;
margin-top: 0;
}
blockquote.templatequote div.templatequotecite cite {
font-size: 85%;
}
/* User block messages */
div.user-block {
padding: 5px;
margin-bottom: 0.5em;
border: 1px solid #A9A9A9;
background-color: #FFEFD5;
}
/* Prevent line breaks in silly places:
1) Where desired
2) Links when we don't want them to
3) Bold "links" to the page itself
4) Ref tags with group names <ref group="Note"> --> "[Note 1]" */
.nowrap,
.nowraplinks a,
.nowraplinks .selflink,
sup.reference a {
white-space: nowrap;
}
/* But allow wrapping where desired: */
.wrap,
.wraplinks a {
white-space: normal;
}
/* For template documentation */
.template-documentation {
clear: both;
margin: 1em 0 0 0;
border: 1px solid #aaa;
background-color: #ecfcf4;
padding: 1em;
}
/* Inline divs in ImageMaps (code borrowed from de.wiki) */
.imagemap-inline div {
display: inline;
}
/* Increase the height of the image upload box */
#wpUploadDescription {
height: 13em;
}
/* Minimum thumb width */
.thumbinner {
min-width: 100px;
}
/* Makes the background of a framed image white instead of gray.
Only visible with transparent images. */
div.thumb .thumbimage {
background-color: #fff;
}
/* The backgrounds for galleries. */
div#content .gallerybox div.thumb {
/* Light gray padding */
background-color: #F9F9F9;
}
/* Put a chequered background behind images, only visible if they have transparency.
'.filehistory a img' and '#file img:hover' are handled by MediaWiki core (as of 1.19) */
.gallerybox .thumb img {
background: #fff url(//bits.wikimedia.org/skins/common/images/Checker-16x16.png) repeat;
}
/* But not on articles, user pages, portals or with opt-out. */
.ns-0 .gallerybox .thumb img,
.ns-2 .gallerybox .thumb img,
.ns-100 .gallerybox .thumb img,
.nochecker .gallerybox .thumb img {
background: #fff;
}
/* Category tree styling. Works in conjuction with [[MediaWiki:Categorytree-expand-bullet]],
[[MediaWiki:Categorytree-collapse-bullet]] and [[MediaWiki:Categorytree-empty-bullet]]. */
#mw-subcategories ul {
list-style: none none;
margin-left: 0.25em;
}
.CategoryTreeChildren {
margin-left: 1.25em;
}
.CategoryTreeToggle {
color: #0645AD;
}
.CategoryTreeEmptyBullet {
color: #C0C0C0;
}
/* Prevent floating boxes from overlapping any category listings,
file histories, edit previews, and edit [Show changes] views. */
#mw-subcategories, #mw-pages, #mw-category-media,
#filehistory, #wikiPreview, #wikiDiff {
clear: both;
}
body.rtl #mw-articlefeedbackv5, body.rtl #mw-articlefeedback {
display: block; /* Override inline block mode */
margin-bottom: 1em;
/* @noflip */
clear: right; /* Clear any info boxes that stick out */
/* @noflip */
float: right; /* Prevents margin collapsing */
}
/* Selectively hide headers in WikiProject banners */
.wpb .wpb-header { display: none; }
.wpbs-inner .wpb .wpb-header { display: block; } /* for IE */
.wpbs-inner .wpb .wpb-header { display: table-row; } /* for real browsers */
.wpbs-inner .wpb-outside { display: none; } /* hide things that should only display outside shells */
/* Styling for Abuse Filter tags */
.mw-tag-markers {
font-family:sans-serif;
font-style:italic;
font-size:90%;
}
/* Hide stuff meant for accounts with special permissions. Made visible again in
[[MediaWiki:Group-sysop.css]], [[MediaWiki:Group-accountcreator.css]],
[[MediaWiki:Group-templateeditor.css]] and [[Mediawiki:Group-autoconfirmed.css]]. */
.sysop-show,
.accountcreator-show,
.templateeditor-show,
.autoconfirmed-show {
display: none;
}
/**
* Hide the redlink generated by {{Editnotice}},
* this overrides the ".sysop-show { display: none; }" above that applies
* to the same link as well.
*/
.ve-init-mw-viewPageTarget-toolbar-editNotices-notice .editnotice-redlink {
display: none !important;
}
/* Remove bullets when there are multiple edit page warnings */
ul.permissions-errors > li {
list-style: none none;
}
ul.permissions-errors {
margin: 0;
}
/* No linewrap on the labels of the login/signup page */
body.page-Special_UserLogin .mw-label label,
body.page-Special_UserLogin_signup .mw-label label {
white-space: nowrap;
}
/* Disable the automatic text-size adjust of WebKit on iPhones etc.
It scales some text, and not the other. Use none, or fixed percentage instead.
Use media selector, because defining a value, overwrites platform defaults. */
@media only screen and (max-device-width: 480px) {
body {
-webkit-text-size-adjust: none;
}
}
/* Pie chart test: Transparent borders */
.transborder {
border: solid transparent;
}
* html .transborder { /* IE6 */
border: solid #000001;
filter: chroma(color=#000001);
}
/* Styling for updated markers on watchlist, history and recent/related changes.
Bullets are handled in skin-specific stylesheets. */
.updatedmarker {
background-color: transparent;
color: #006400;
}
li.mw-changeslist-line-watched .mw-title,
table.mw-changeslist-line-watched .mw-title,
table.mw-enhanced-watch .mw-enhanced-rctime {
font-weight: normal;
}
/* Adjust font for inline HTML generated formulae */
span.texhtml {
font-family: "Times New Roman", "Nimbus Roman No9 L", Times, serif;
font-size: 118%;
white-space: nowrap;
}
span.texhtml span.texhtml {
font-size: 100%;
}
/* Fix so <syntaxhighlight> tags and .css and .js pages get normal text size.
[[Bugzilla:26204]]. See also [[Wikipedia:Typography#The monospace 'bug']] */
div.mw-geshi div,
div.mw-geshi div pre,
span.mw-geshi,
pre.source-css,
pre.source-javascript,
pre.source-lua {
font-family: monospace, Courier !important;
}
/* Fix styling of transcluded prefindex tables */
table#mw-prefixindex-list-table,
table#mw-prefixindex-nav-table {
width: 98%;
}
/* For portals, added 2011-12-07 -bv
On wide screens, show these as two columns
On narrow and mobile screens, let them collapse into a single column */
.portal-column-left {
float: left;
width: 50%;
}
.portal-column-right {
float: right;
width: 49%;
}
.portal-column-left-wide {
float: left;
width: 60%;
}
.portal-column-right-narrow {
float: right;
width: 39%;
}
.portal-column-left-extra-wide {
float: left;
width: 70%;
}
.portal-column-right-extra-narrow {
float: right;
width: 29%;
}
@media only screen and (max-width: 800px) {
/* Decouple the columns on narrow screens */
.portal-column-left,
.portal-column-right,
.portal-column-left-wide,
.portal-column-right-narrow,
.portal-column-left-extra-wide,
.portal-column-right-extra-narrow {
float: inherit;
width: inherit;
}
}
/* For announcements */
#bodyContent .letterhead {
background-image:url('//upload.wikimedia.org/wikipedia/commons/e/e0/Tan-page-corner.png');
background-repeat:no-repeat;
padding: 2em;
background-color: #faf9f2;
}
/* Tree style lists */
.treeview ul {
padding: 0;
margin: 0;
}
.treeview li {
padding: 0;
margin: 0;
list-style-type: none;
list-style-image: none;
zoom: 1; /* BE KIND TO IE6 */;
}
.treeview li li {
background: url("//upload.wikimedia.org/wikipedia/commons/f/f2/Treeview-grey-line.png") no-repeat 0 -2981px;
/* @noflip */
padding-left: 20px;
text-indent: 0.3em;
}
.treeview li li.lastline {
background-position: 0 -5971px
}
.treeview li.emptyline > ul {
/* @noflip */
margin-left: -1px;
}
.treeview li.emptyline > ul > li:first-child {
background-position: 0 9px
}
/* Make it possible to hide checkboxes in <inputbox> */
.inputbox-hidecheckboxes form .inputbox-element {
display: none !important;
}
/* Hide charinsert base for those not using the gadget */
#editpage-specialchars {
display: none;
}
/* work-around for [[bugzilla:23965]] (Kaltura advertisement) */
.k-player .k-attribution {
visibility: hidden;
}
e490bc253565f2512ff847918a29e085e01c2c25
MediaWiki:Sidebar
8
61
320
317
2013-11-18T13:20:20Z
Mietzie
5
wikitext
text/x-wiki
* navigation
** mainpage|mainpage-description
** recentchanges-url|recentchanges
* SEARCH
* TOOLBOX
* LANGUAGES
7b7d92a809f8f5d167f27d9abecba2f4526e89d3
Template:Boxes
10
68
488
487
2013-12-04T00:17:39Z
Yoerger
7
Protected "[[Template:Boxes]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
__NOEDITSECTION__
{| style="background-color: #ffffff; padding: 0; margin-bottom: 0.8em; width: 100%; {{{style}}}"
| {{Head|{{{1|Header Text}}}}}
|-
| style="padding: 1em 0.5em;" | {{{2|Add descriptive text here}}}
|}
2edb9dd577f9f0092a7d618cd37fcd65b35d9de2
487
2013-12-04T00:17:29Z
Yoerger
7
Boxes Template
wikitext
text/x-wiki
__NOEDITSECTION__
{| style="background-color: #ffffff; padding: 0; margin-bottom: 0.8em; width: 100%; {{{style}}}"
| {{Head|{{{1|Header Text}}}}}
|-
| style="padding: 1em 0.5em;" | {{{2|Add descriptive text here}}}
|}
2edb9dd577f9f0092a7d618cd37fcd65b35d9de2
Template:Construction
10
225
1138
1137
2015-06-10T05:20:02Z
Yoerger
7
Fixed a small grammar error.
wikitext
text/x-wiki
<div class="visualClear toc">
<div align="center">
<b><font color="blue">This page is currently under construction.<br /> The contents on this page (if any), may not be complete or accurate.</font></b>
</div>
</div>
8b5942e00fb608fa756028a1c9786dad74efdbfe
1137
1049
2015-06-10T05:19:39Z
Yoerger
7
Fixed small grammar error.
wikitext
text/x-wiki
<div class="visualClear toc">
<div align="center">
<b><font color="blue">This page is currently under construction.<br /> The content on this page (if any), may not be complete or accurate.</font></b>
</div>
</div>
7f00bc6656c980a2f58a83a6d5367da6bd4e20cf
1049
1048
2014-06-01T06:30:07Z
Yoerger
7
Protected "[[Template:Construction]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
<div class="visualClear toc">
<div align="center">
<b><font color="blue">This page is currently under construction.<br /> The content on this page (if any), May not be complete or accurate.</font></b>
</div>
</div>
58098f1517a70e5ebe427ed8b530d8749ac20280
1048
1047
2014-06-01T06:30:00Z
Yoerger
7
wikitext
text/x-wiki
<div class="visualClear toc">
<div align="center">
<b><font color="blue">This page is currently under construction.<br /> The content on this page (if any), May not be complete or accurate.</font></b>
</div>
</div>
58098f1517a70e5ebe427ed8b530d8749ac20280
1047
1046
2014-06-01T06:29:48Z
Yoerger
7
wikitext
text/x-wiki
<div class="visualClear toc"><br />
<div align="center">
<b><font color="blue">This page is currently under construction.<br /> The content on this page (if any), May not be complete or accurate.</font></b><br /><br />
</div>
</div>
64a7eab9d86209f67e57d63e4080183f5b664d22
1046
1045
2014-06-01T06:29:20Z
Yoerger
7
wikitext
text/x-wiki
<div class="visualClear toc"><br />
<b><font color="blue">This page is currently under construction. The content on this page (if any), May not be complete or accurate.</font></b><br /><br />
</div>
741583904db2aae6248aab2f9c507b756bd8695b
1045
1043
2014-06-01T06:29:10Z
Yoerger
7
wikitext
text/x-wiki
<div class="visualClear toc"><br />
<b><font color="blue">This page is currently under construction. The content on this page (if any), May not be complete or accurate.</font></b><br />
</div>
7b44fcbaa7b4e852c4dfc5e550f1206b5138f2f2
1043
1042
2014-06-01T06:28:27Z
Yoerger
7
wikitext
text/x-wiki
<div class="visualClear toc">
<b><font color="blue">This page is currently under construction. The content on this page (if any), May not be complete or accurate.</font></b><br /> {{{1}}}
</div>
b29d69a42b037cc49479a4a518258a2bdb6f95ab
1042
1041
2014-06-01T06:28:16Z
Yoerger
7
wikitext
text/x-wiki
<div class="visualClear toc">
<b><font color="blue">This page is currently under construction. The content on this page (if any), May not be complete or accurate.</font>:</b><br /> {{{1}}}
</div>
169812a8a986bbeb8995e71b0068353267a36970
1041
2014-06-01T06:27:48Z
Yoerger
7
Created page with "<div class="visualClear toc"> <b><font color="blue">This page is currently under construction. The content on this page (if any), May not be complete or accurate.</font>:</b> ..."
wikitext
text/x-wiki
<div class="visualClear toc">
<b><font color="blue">This page is currently under construction. The content on this page (if any), May not be complete or accurate.</font>:</b> {{{1}}}
</div>
596b160da924aef55f49733287e0982d524ba9c5
Template:Head
10
69
499
490
2013-12-04T06:03:06Z
Yoerger
7
wikitext
text/x-wiki
<div style="background-color: #64719b; width: 99%; margin: 0px 0px 10px 0px; font-size:18px; font-family: Verdana; text-align:left; font-weight: bold; color:#ffffff; padding: 0.2em 0.4em;{{{2|}}}">{{{1|Header Text}}}</div>
53681263dbad854220d89a8a848e31253e3f8c56
490
489
2013-12-04T00:18:18Z
Yoerger
7
Protected "[[Template:Head]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
<div style="background-color: #8698bf; width: 99%; margin: 0px 0px 10px 0px; font-size:18px; font-family: Verdana; text-align:left; font-weight: bold; color:#ffffff; padding: 0.2em 0.4em;{{{2|}}}">{{{1|Header Text}}}</div>
9888d9348591164f3f7bc112c7f1619262520291
489
2013-12-04T00:18:11Z
Yoerger
7
Head Template
wikitext
text/x-wiki
<div style="background-color: #8698bf; width: 99%; margin: 0px 0px 10px 0px; font-size:18px; font-family: Verdana; text-align:left; font-weight: bold; color:#ffffff; padding: 0.2em 0.4em;{{{2|}}}">{{{1|Header Text}}}</div>
9888d9348591164f3f7bc112c7f1619262520291
Template:Header
10
189
828
827
2014-05-09T15:11:37Z
Azander
9
wikitext
text/x-wiki
__NOTOC__
{| align="center"
|-
||
{| class="wikitable"
|{{ModSection}}||''' [[2.0/Modules#{{{2}}}|{{{2}}}]] '''
|-
|{{ModHead}}||''' {{{1}}} '''
|-
|{{ModAuth}}||''' {{{3}}} '''
|-
|}
|-
|}
29b9163ded090bc57527335e656d1c865ae8adf7
827
826
2014-05-09T15:11:17Z
Azander
9
wikitext
text/x-wiki
__NOTOC__
{| align="center"
|-
||
{| class="wikitable"
|{{ModSection}}||''' [[2.0/Modules#{{{2}}}]] '''
|-
|{{ModHead}}||''' {{{1}}} '''
|-
|{{ModAuth}}||''' {{{3}}} '''
|-
|}
|-
|}
8650f3ffe7b1f401215e4eafd4d48a593edf5187
826
2014-05-09T15:09:20Z
Azander
9
Created page with "__NOTOC__ {| align="center" |- || {| class="wikitable" |{{ModSection}}||''' {{{2}}} ''' |- |{{ModHead}}||''' {{{1}}} ''' |- |{{ModAuth}}||''' {{{3}}} ''' |- |} |- |}"
wikitext
text/x-wiki
__NOTOC__
{| align="center"
|-
||
{| class="wikitable"
|{{ModSection}}||''' {{{2}}} '''
|-
|{{ModHead}}||''' {{{1}}} '''
|-
|{{ModAuth}}||''' {{{3}}} '''
|-
|}
|-
|}
04c08becbd3b3542ca9c62b2416a2d9297d19217
Template:Language
10
67
535
530
2013-12-15T07:29:38Z
Yoerger
7
wikitext
text/x-wiki
{|cellpadding=1; style="float:right;width:275px;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;float=right;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!colspan="2"|Language
|-style="width:100px;text-align:center;"
|colspan="2" style="padding-top:4px;padding-bottom:4px;" |
{{#ifexist: {{{1}}} | [[{{{1}}}|English]] | }} {{#ifexist: {{{1}}}/de | [[{{{1}}}/de|Deutsch]] | }}{{#ifexist: {{{1}}}/fr | [[{{{1}}}/fr|Français]] | }} {{#ifexist: {{{1}}}/es | [[{{{1}}}/es|Español]] | }}
|}
5d5a93aba8758f886bda3d0e030cfe19fbfd916b
530
524
2013-12-15T06:21:35Z
Dukepyrolator
4
wikitext
text/x-wiki
{|cellpadding="1" style="float:right;width:300px;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;float=right;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!colspan="2"|Language
|-style="width:100px;text-align:center;"
|colspan="2" style="padding-top:4px;padding-bottom:4px;" |
{{#ifexist: {{{1}}} | [[{{{1}}}|English]] | }} {{#ifexist: {{{1}}}/de | [[{{{1}}}/de|Deutsch]] | }}{{#ifexist: {{{1}}}/fr | [[{{{1}}}/fr|Français]] | }} {{#ifexist: {{{1}}}/es | [[{{{1}}}/es|Español]] | }}
|}
5451c7632d190e20628201f729abbfeb2a9674c8
524
463
2013-12-14T13:59:02Z
Dukepyrolator
4
wikitext
text/x-wiki
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!colspan="2"|Language
|-style="width:100px;text-align:center;"
|colspan="2" style="padding-top:4px;padding-bottom:4px;" |
{{#ifexist: {{{1}}} | [[{{{1}}}|English]] | }} |
{{#ifexist: {{{1}}}/de | [[{{{1}}}/de|Deutsch]] | }} |
{{#ifexist: {{{1}}}/fr | [[{{{1}}}/fr|Français]] | }} |
{{#ifexist: {{{1}}}/es | [[{{{1}}}/es|Español]] | }}
|}
a002b313d8903d88bd3b576362fc77844483e31e
463
461
2013-11-24T19:48:05Z
Mietzie
5
Protected "[[Template:Language]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!colspan="2"|Language | Sprache | Langue | Idioma
|-style="width:100px;text-align:center;"
|colspan="2" style="padding-top:4px;padding-bottom:4px;"|English (default) | Deutsch | Français | Español
|}
27f72845fe015f089f305ce39456caa57fd3741e
461
2013-11-24T19:47:13Z
Mietzie
5
Created page with "{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;" |-style="tex..."
wikitext
text/x-wiki
{|cellpadding="1" style="width:100%;text-align:left;border:1px solid #64719b;border-spacing:0;border-collapse:collapse;background-color:#ffffff;empty-cells:hide;"
|-style="text-align:center;background-color:#64719b;color:#ffffff;font-size:100%;"
!colspan="2"|Language | Sprache | Langue | Idioma
|-style="width:100px;text-align:center;"
|colspan="2" style="padding-top:4px;padding-bottom:4px;"|English (default) | Deutsch | Français | Español
|}
27f72845fe015f089f305ce39456caa57fd3741e
Template:ModAuth
10
72
503
502
2013-12-04T06:05:03Z
Yoerger
7
wikitext
text/x-wiki
style="background:#64719b; color:white;" width="80px" align="center"|'''Author'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
1e3711c09ebd919960cd7d01630aab36bffefd31
502
497
2013-12-04T06:04:29Z
Yoerger
7
wikitext
text/x-wiki
style="background:#64719b; color:white;" width="150px" align="center"|'''Author'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
4b6214f1e2657fd06576f474aea9454c28240fd5
497
496
2013-12-04T06:02:17Z
Yoerger
7
Protected "[[Template:ModAuth]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
style="background:#64719b; color:white;" width="80px" align="center"|'''Author'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
1e3711c09ebd919960cd7d01630aab36bffefd31
496
494
2013-12-04T06:02:12Z
Yoerger
7
wikitext
text/x-wiki
style="background:#64719b; color:white;" width="80px" align="center"|'''Author'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
1e3711c09ebd919960cd7d01630aab36bffefd31
494
2013-12-04T06:00:21Z
Yoerger
7
Created page with "style="background:#3C548A; color:white;" width="80px" align="center"|'''Author''' <noinclude>[[Category:Field Type]]</noinclude> <noinclude>[[Category:Templates]]</noinclude>"
wikitext
text/x-wiki
style="background:#3C548A; color:white;" width="80px" align="center"|'''Author'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
e172eb7a064baf4506b1ad83b7286d8b9933a92e
Template:ModHead
10
71
500
495
2013-12-04T06:03:19Z
Yoerger
7
wikitext
text/x-wiki
style="background:#64719b; color:white;" width="80px" align="center"|'''Module'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
f48cc0d5a8d470327e4897785bd48729cb9176eb
495
493
2013-12-04T06:00:40Z
Yoerger
7
wikitext
text/x-wiki
style="background:#3C548A; color:white;" width="80px" align="center"|'''Module'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
4cc062e8420a328e1045ae8cea75920df4f80b7d
493
492
2013-12-04T05:51:32Z
Yoerger
7
Protected "[[Template:ModHead]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
style="background:#3C548A; color:white;" width="80px" align="center"|'''INT'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
437096ccb57ef3adf1f8bb61ee7404c82f84137b
492
2013-12-04T05:51:26Z
Yoerger
7
Created page with "style="background:#3C548A; color:white;" width="80px" align="center"|'''INT''' <noinclude>[[Category:Field Type]]</noinclude> <noinclude>[[Category:Templates]]</noinclude>"
wikitext
text/x-wiki
style="background:#3C548A; color:white;" width="80px" align="center"|'''INT'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
437096ccb57ef3adf1f8bb61ee7404c82f84137b
Template:ModSection
10
188
825
2014-05-09T15:09:01Z
Azander
9
Created page with "style="background:#64719b; color:white;" width="80px" align="center"|'''Section''' <noinclude>[[Category:Field Type]]</noinclude> <noinclude>[[Category:Templates]]</noinclude>"
wikitext
text/x-wiki
style="background:#64719b; color:white;" width="80px" align="center"|'''Section'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
3dd57937a965581d538482f3e0d1ef81c37fa9a4
Template:ModServ
10
79
556
551
2014-05-04T20:25:59Z
Azander
9
Protected "[[Template:ModServ]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
style="background:#64719b; color:white;" width="80px" align="center"|'''Service'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
dae0755805b75203683ed1d9d2947d1ad25eb682
551
2014-05-04T17:50:22Z
Azander
9
Created page with "style="background:#64719b; color:white;" width="80px" align="center"|'''Service''' <noinclude>[[Category:Field Type]]</noinclude> <noinclude>[[Category:Templates]]</noinclude>"
wikitext
text/x-wiki
style="background:#64719b; color:white;" width="80px" align="center"|'''Service'''
<noinclude>[[Category:Field Type]]</noinclude>
<noinclude>[[Category:Templates]]</noinclude>
dae0755805b75203683ed1d9d2947d1ad25eb682
Template:Syntax
10
78
606
605
2014-05-05T16:51:02Z
Azander
9
wikitext
text/x-wiki
__NOTOC__
{| align="center"
|-
||
{| class="wikitable"
|{{ModServ}}||''' [[2.0/Modules#{{{2}}}|{{{2}}}]] '''
|-
|{{ModHead}}||''' {{{1}}} '''
|-
|{{ModAuth}}||''' {{{3}}} '''
|-
|}
|-
|}
a22035ef0855a4247aa3f882c3fdffdd6e898d0b
605
568
2014-05-05T16:50:03Z
Azander
9
wikitext
text/x-wiki
__NOTOC__
{| align="center"
|-
||
{| class="wikitable"
|{{ModServ}}||''' [[2.0/Modules#{{{2}}}]]|{{{2}}}]] '''
|-
|{{ModHead}}||''' {{{1}}} '''
|-
|{{ModAuth}}||''' {{{3}}} '''
|-
|}
|-
|}
d96f310fa9bf7f60f40c200280d12f4175268b4c
568
561
2014-05-04T21:54:18Z
Azander
9
wikitext
text/x-wiki
__NOTOC__
{| align="center"
|-
||
{| class="wikitable"
|{{ModServ}}||''' {{{2}}} '''
|-
|{{ModHead}}||''' {{{1}}} '''
|-
|{{ModAuth}}||''' {{{3}}} '''
|-
|}
|-
|}
db5e757500e2e5415eb43bc96b5bb50d46bc30ce
561
559
2014-05-04T20:50:02Z
Azander
9
Protected "[[Template:Syntax]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
__NOTOC__
{{Language|2.0/Modules/{{{1}}}}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModServ}}||''' {{{2}}} '''
|-
|{{ModHead}}||''' {{{1}}} '''
|-
|{{ModAuth}}||''' {{{3}}} '''
|-
|}
|-
|}
b27c3670ec165e3eaad8119a5831ddd68aefadf6
559
557
2014-05-04T20:48:39Z
Azander
9
wikitext
text/x-wiki
__NOTOC__
{{Language|2.0/Modules/{{{1}}}}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModServ}}||''' {{{2}}} '''
|-
|{{ModHead}}||''' {{{1}}} '''
|-
|{{ModAuth}}||''' {{{3}}} '''
|-
|}
|-
|}
b27c3670ec165e3eaad8119a5831ddd68aefadf6
557
544
2014-05-04T20:45:31Z
Azander
9
/* Top structure for module entry */
wikitext
text/x-wiki
__NOTOC__
{{Language|2.0/Modules/{{{1}}}}}
{| align="center"
|-
||
{| class="wikitable"
|{{ModServ}}||''' {{{2}}} '''
|-
|{{ModHead}}||''' {{{3}}} '''
|-
|{{ModAuth}}||''' {{{4}}} '''
|-
|}
|-
|}
c39cd3f62bb5f5d0e9f0154891eda12261481dde
544
2014-05-04T17:29:46Z
Azander
9
/* Basic Syntax Template */
wikitext
text/x-wiki
{| border="0"
|'''{{{1}}}'''
|
|'''{{{2}}}'''
|}
::{{{3}}}
1b48ee06e476e811cd46d4b5cfe52a929ed066eb
Template:Warning
10
224
1040
1039
2014-06-01T06:22:28Z
Yoerger
7
wikitext
text/x-wiki
<div class="visualClear toc">
<b><font color="red">WARNING</font>:</b> {{{1}}}
</div>
7385ec0a3deb8c49285a4258b37ee55c8e6a6043
1039
2014-06-01T06:21:42Z
Yoerger
7
Created page with "<div class="visualClear toc"> [[Image:Error.png]] <b><font color="red">WARNING</font>:</b> {{{1}}} </div>"
wikitext
text/x-wiki
<div class="visualClear toc">
[[Image:Error.png]] <b><font color="red">WARNING</font>:</b> {{{1}}}
</div>
4533854e9bde057802c2e93cd6f548ba5d6bbde8
Category:Anope-2.0.x
14
76
542
2014-05-04T17:27:04Z
Azander
9
Created page with "Anope 2.0.x"
wikitext
text/x-wiki
Anope 2.0.x
52c1346f9e56a00da36de6cb7cc97af745976070
Category:Incomplete
14
218
982
981
2014-05-27T12:50:10Z
Yoerger
7
Protected "[[Category:Incomplete]]" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))
wikitext
text/x-wiki
This means the page is not complete.
2d80346827b3c4f32a47e28059ceb36ce0928e91
981
2014-05-27T12:50:05Z
Yoerger
7
Created page with "This means the page is not complete."
wikitext
text/x-wiki
This means the page is not complete.
2d80346827b3c4f32a47e28059ceb36ce0928e91